八 @Autowire注解与自动装配
使用了@Autowired的注解方式,这种默认按类型查找符合的bean注入view plaincopy to clipboardprint?01.@Autowired private PersonDao personDao; @Autowired private PersonDao personDao; 使用@Qualifier注明bean名称注入view plaincopy to clipboardprint?01.@Autowired @Qualifier("personDao") private PersonDao personDao; @Autowired @Qualifier("personDao") private PersonDao personDao; 还可以添加required属性,在没找到bean的情况下,如果required为false,则注入null,required为true,则报错。view plaincopy to clipboardprint?01.@Autowired(required=true) @Qualifier("personDao") private PersonDao personDao; @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 完毕!
?