依赖注入,是IOC的一个方面,是个通常的概念,它有多种解释。这概念是说你不用创建对象,而只需要描述它如何被创建。你不在代码里直接组装你的组件和服务,但是要在配置文件里描述哪些组件需要哪些服务,之后一个容器(IOC容器)负责把他们组装起来。
一.目前使用最广泛的 @Autowired:自动装配
基于@Autowired的自动装配,默认是根据类型注入,可以用于构造器、接口、方法注入,使用方式如下:
@Autowired
构造方法、方法、接口
@Autowired默认是根据参数类型进行自动装配,且必须有一个Bean候选者注入默认required=true,如果允许出现0个Bean候选者需要设置属性“required=false”,“required”属性含义和@Required一样,只是@Required只适用于基于XML配置的setter注入方式,只能打在setting方法上。
构造器注入
通过将@Autowired注解放在构造器上来完成构造器注入,默认构造器参数通过类型自动装配,如下所示:
public class Test1 {
private MessageInterface message;
@Autowired //构造器注入
private Test1(MessageInterface message) {
this.message = message;
}
//省略getter和setter
}
接口注入
通过将@Autowired注解放在构造器上来完成接口注入。
public class Test2 {
@Autowired //接口注入
private MessageInterface messageInterface;
//省略getter和setter
}
方法参数注入
通过将@Autowired注解放在方法上来完成方法参数注入。
public class Test3 {
private MessageInterface message;
@Autowired //setter方法注入
public void setMessage(MessageInterface message) {
this.message = message;
}
public String getMessage() {
return message;
}
}
public class Test4 {
private MessageInterface message; //
private List list;
@Autowired(required = true) //任意一个或多个参数方法注入
private void initMessage(MessageInterface message, ArrayList list) {
this.message = message;
this.list = list;
}
//省略getter和setter
}
以上就是良许教程网为各位朋友分享的Linu系统相关内容。想要了解更多Linux相关知识记得关注公众号“良许Linux”,或扫描下方二维码进行关注,更多干货等着你 !