Spring注释的名称

时间:2016-09-09 23:20:57

标签: spring

我是新手,我有一个问题如下。 有人可以在春天向我解释有关名称的注释吗?下面的例子之间有什么区别:

  

示例1:

@Service
public class A{...}
  

示例2:

@Service("nameA")
public class A{...}

1 个答案:

答案 0 :(得分:1)

第二个例子:

@Service("nameA")
public class A{...}

为此服务命名。然后,您可以以这种方式自动装配bean:

@Autowired
@Qualifier("nameA")
private A a;

这在您的示例中并不特别有用。但请考虑您是否使用XML配置:

<bean id="thisIsAQualifier" class="A"/>
<bean id="thisIsAnotherQualifier" class="A"/>

您现在可以使用@Qualifier注释自动装配其中任何一个,即使它们都是同一个类。

@Autowired
@Qualifier("thisIsAQualifier")
private A a;

@Autowired
@Qualifier("thisIsAnotherQualifier")
private A a2;

如果没有限定符,您将收到No unique bean错误,因为会有两个类型为A的bean。