1、@Required 依赖项检查
public class RequiredAnno{ //定义一个使用@Required注解的类
public Foo foo;
@Required //对依赖对象是否有配置进行检查
public void setFoo(Foo foo){
this.foo=foo;
}
如果foo属性注入foo的部分忘记配置,则在容器启动时会抛出BeanInitializationException的异常提示。
2、@Autowired 依赖对象的自动装配
直接在代码中进行依赖对象的自动装载,大大简化了配置,提高了开发效率。@Autowired注解可以使用在类构造器、属性和属性Setter方法甚至一般的方法上,也可以混合使用。
(1)在构造器中使用@Autowired
@Autowired
public Autowired(Foo foo){
this.foo=foo;
}
如果类有多个构造器,则至少需要在某一个构造器上添加该注解。
(2)在方法中使用@Autowired
可以使用在属性的setter方法中,也可以用在一般的方法中。
@Autowired
public void setBar(Bar bar){
this.bar=bar;
}
@Autowired
public void mymethod(Bar bar){
this.bar=bar;
}
(3)在属性中应用@Autowired
可以在任何作用域的属性中使用@Autowired注解,包括private、public和protected。@Autowired默认根据类来查找和注入容器中管理的对象,对于注解的属性和参数依赖要确保相应的bean被容器托管,否则容器在初始化的时候就会找不到依赖对象而无法正常启动。
3、@Component 类层级的组件注解
在类中使用@Component注解,容器可以在启动时进行该类的实例化。@Component是通用的组件注解,在Java web开发中对应不同的组件层级。Spring在@Component元注解的基础上定义了不同类型的子注解,包括@Controller、@Service、@Repository,分别对应到控制层、服务层和数据访问层的组件。
4、@Bean 类方法层级的组件注解
@Bean注解的方法需要有非空的返回类型,返回的对象就是注册Bean的对象。该注解只有在其方法对应的类呗注册为Bean的状况下才有效。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)