Spring的Autowire引语与自动装配

Spring的Autowire注解与自动装配
  1. 使用了@Autowired的注解方式,这种默认按类型查找符合的bean注入   
  2.   
  3.      
  4. @Autowired private PersonDao personDao;    
  5.   
  6. 使用@Qualifier注明bean名称注入   
  7.   
  8. @Autowired @Qualifier("personDao"private PersonDao personDao;    
  9.   
  10. 还可以添加required属性,在没找到bean的情况下,如果required为false,则注入null,required为true,则报错。   
  11.   
  12.  @Autowired(required=true@Qualifier("personDao"private PersonDao personDao;    
  13.   
  14. 自动装配:   
  15.   
  16. 通过bean标签的autowire属性来配置,有5种值   
  17.   
  18. no                       不使用自动装配,必须通过ref元素指定依赖,默认设置。      
  19.   
  20. byName                    根据属性名自动装配。此选项将检查容器并根据名字查找与                      
  21.   
  22.                           属性完全一致的bean,并将其与属性自动装配。      
  23.   
  24. byType                    如果容器中存在一个与指定属性类型相同的bean,那么将与      
  25.   
  26.                           该属性自动装配;如果存在多个该类型bean,那么抛出异      
  27.   
  28.                           常,并指出不能使用byType方式进行自动装配;如果没有找      
  29.   
  30.                           到相匹配的bean,则什么事都不发生,也可以通过设置      
  31.   
  32.                           dependency-check="objects"让Spring抛出异常。      
  33.   
  34. constructor               与byType方式类似,不同之处在于它应用于构造器参数。如      
  35.   
  36.                           果容器中没有找到与构造器参数类型一致的bean,那么抛出      
  37.   
  38.                           异常。      
  39.   
  40. autodetect                通过bean类的自省机制(introspection)来决定是使用      
  41.   
  42.                           constructor还是byType方式进行自动装配。如果发现默认的      
  43.   
  44.                           构造器,那么将使用byType方式。    
  45.   
  46. end 完毕!