春天的@Named和@Qualifier有什么区别

时间:2013-07-11 10:42:45

标签: java spring

spring注释配置中@Named@org.springframework.beans.factory.annotation.Qualifier之间的区别是什么? 哪个可用于为bean提供bean名称(就像xml配置中的'id'一样)?

2 个答案:

答案 0 :(得分:15)

@Named是Java标准(JSR 330),@Qualifier仅用于Spring;最新版本的Spring同时认可。我使用@Named因为@Qualifier更适用于解决两个或多个相同类型的bean的歧义。

答案 1 :(得分:0)

注释JSR-330 @Named使用组件标识符,与Spring框架中定义的@Component注释等效。

Spring框架定义的@Qualifier注释减少了可用于绑定的组件集(如果存在此类歧义)。作为可能的限定词之一,使用了组件标识符。

可以使用@Qualifier来标记自己的限定词(注释),并进行其他说明。