都是用于自动装配,自动注入
1、@Autowired
①、spring定义的注解,默认是优先按照类型去容器中查找对应的组件;
②、如果找到多个相同类型的组件,再将属性的名称作为组件的ID去容器中查找;
③、使用@Qualifier指定需要装配的组件ID,而不是使用属性名;
④、自动装配默认一定要将属性赋值好,没有就会报错(可以使用@Autowired(required=false));
⑤、@Primary:让spring进行自动装配的时候,默认使用首选的bean,也可以继续使用@Qualifier指定需要装配的bean的名字。
2、Spring还支持使用@Resource(JSR250)和@Inject(JSR330) 【Java规范的注解】
@Resource:可以和@Autowird一样实现自动装配的功能;默认是按照组件名称进行装配的;没有支持@Primary功能没有支持@Autowired(required=false);
@Inject :
需要导入javax.inject的包,和autowired的功能是一样的,没有required=false的功能;