- 使用了@Autowired的注解方式,这种默认按类型查找符合的bean注入
- @Autowired private PersonDao personDao;
- 使用@Qualifier注明bean名称注入
- @Autowired @Qualifier("personDao") private PersonDao personDao;
- 还可以添加required属性,在没找到bean的情况下,如果required为false,则注入null,required为true,则报错。
- @Autowired(required=true) @Qualifier("personDao") private PersonDao personDao;
- 自动装配:
- 通过bean标签的autowire属性来配置,有5种值
- no 不使用自动装配,必须通过ref元素指定依赖,默认设置。
- byName 根据属性名自动装配。此选项将检查容器并根据名字查找与
- 属性完全一致的bean,并将其与属性自动装配。
- byType 如果容器中存在一个与指定属性类型相同的bean,那么将与
- 该属性自动装配;如果存在多个该类型bean,那么抛出异
- 常,并指出不能使用byType方式进行自动装配;如果没有找
- 到相匹配的bean,则什么事都不发生,也可以通过设置
- dependency-check="objects"让Spring抛出异常。
- constructor 与byType方式类似,不同之处在于它应用于构造器参数。如
- 果容器中没有找到与构造器参数类型一致的bean,那么抛出
- 异常。
- autodetect 通过bean类的自省机制(introspection)来决定是使用
- constructor还是byType方式进行自动装配。如果发现默认的
- 构造器,那么将使用byType方式。
- end 完毕!
Spring的Autowire注解与自动装配
最新推荐文章于 2023-12-27 11:16:05 发布