我们如何定义
(a)单名
B)多个姓名(别名)
使用@Bean和@Component标注?
在XML中,我们这样定义:
对于单个名称:
<bean name="accountService" autowire="constructor" class="com.wiley.beginningspring.ch2.AccountServiceImpl" autowire-candidate="false">
</bean>
对于别名:
<bean name="accountService,a,b" autowire="constructor" class="com.wiley.beginningspring.ch2.AccountServiceImpl" autowire-candidate="false">
</bean>
但是@Bean和@Component(或@Service、@Repository)又如何呢?
3条答案
按热度按时间2mbi3lxu1#
这仍然是一个功能请求https://jira.spring.io/browse/SPR-6736
除了@Bean
4ktjp1zp2#
bean名称接受字符串数组,所以这是可行的。
@Bean({"b1", "b2"}
。hec6srdp3#
除了可以从
@Component
(或其派生)注解中为bean给予名称之外,还可以使用@Qualifier
指定一个别名:不可能使用多个
@Qualifier
注解。现在您可以使用“foo”和“bar”来引用该bean。