@Autowired Annotation in Spring

来源:互联网 发布:arcgis裁剪矢量数据 编辑:程序博客网 时间:2024/05/02 04:17

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.

原创粉丝点击