1. @Autowired 使用在源代码中
1.1 注入方式
1.1.1 使用在field上
@Autowired
private String name; // no getter/setter
1.1.2 Constructor构造函数注入
@Autowired
public Person(String name){...}
1.1.3 Setter注入
@Autowired
public void setName(String name){...}
1.2 注入参数
@Autowired(required=false) => 不进行依赖检查
@Autowired@Qualifier("name1") => 指明具体的名称,很多人有个误解,以为@Autowired属性默认byType.实际测试发现只有多个相同类型的bean在Spring中时候才需要指定qualifier
2. 在spring 配置文件中如何使‘@Autowired生效, 可以采用如下3种方法中一种
2.1 <context:component-scan base-package="com"/> 支持@Autowired 和@Resource
注入如下两个BeanPostProcessor
AutowiredAnnotationBeanPostProcessor,
CommonAnnotationBeanPostProcessor
2.2 <bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor"/> 仅支持@Autowired
2.3 <context:annotation-config/> 注入如下四个BeanPostProcessor
AutowiredAnnotationBeanPostProcessor, => @Autowired
CommonAnnotationBeanPostProcessor, =>@Resource,@PostConstruc,@PreDestroy
PersistenceAnnotationBeanPostProcessor, =>@PersistenceContext
RequiredAnnotationBeanPostProcessor => @Required
3.