WEB开发网
开发学院软件开发Java 详解 Spring 3.0 基于 Annotation 的依赖注入实现... 阅读

详解 Spring 3.0 基于 Annotation 的依赖注入实现

 2010-05-10 00:00:00 来源:WEB开发网   
核心提示: <beanclass="footmark.HelloWorld"><qualifiertype="MovieQualifier"><attributekey="format"value="VHS&

 <bean class="footmark.HelloWorld"> 
 <qualifier type="MovieQualifier"> 
 <attribute key="format" value="VHS"/> 
 <attribute key="genre" value="Comedy"/> 
 </qualifier> 
 </bean> 
 <bean class="footmark.HelloWorld"> 
 <meta key="format" value="DVD"/> 
 <meta key="genre" value="Action"/> 
 </bean> 

@Autowired 注解对应的后处理注册与前面相似,只需在配置文件中增加如下一行即可:

 <context:annotation-config/> 

如果 @Autowired 注入的是 BeanFactory、ApplicationContext、ResourceLoader 等系统类型,那么则不需要 @Qualifier,此时即使提供了 @Qualifier 注解,也将会被忽略;而对于自定义类型的自动装配,如果使用了 @Qualifier 注解并且没有名字与之匹配的 Bean,则自动装配匹配失败。

使用 JSR-250 中的 @Resource 和 @Qualifier 注解

如果希望根据 name 执行自动装配,那么应该使用 JSR-250 提供的 @Resource 注解,而不应该使用 @Autowired 与 @Qualifier 的组合。

@Resource 使用 byName 的方式执行自动封装。@Resource 标注可以作用于带一个参数的 Setter 方法、字段,以及带一个参数的普通方法上。@Resource 注解有一个 name 属性,用于指定 Bean 在配置文件中对应的名字。如果没有指定 name 属性,那么默认值就是字段或者属性的名字。@Resource 和 @Qualifier 的配合虽然仍然成立,但是 @Qualifier 对于 @Resource 而言,几乎与 name 属性等效。

上一页  4 5 6 7 8 9 10  下一页

Tags:详解 Spring 基于

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接