下面的两个bean声明有什么不同吗?
@Bean(name = "bean1")
public A getA() {
return new A();
}
@Bean
@Qualifier("bean1")
public A getA() {
return new A();
}两者都可以使用@Qualifier自动连接
@Autowire
public void test(@Qualifier("bean1") A a) {
...
}发布于 2020-07-10 05:04:20
使用value(),您不必像@Qualifier("bean1")那样指定属性名称。属性name()引用与value()相同的值,因为来自Spring的自定义注释@AliasFor(..),因此它们只是具有相同行为的不同名称。
发布于 2020-07-10 04:45:33
第一部分基本上是相同的,第二部分是当存在两个或多个相同类型的bean时基本上需要的部分。第一部分只是一个人可能会有的偏好。
发布于 2020-12-02 01:53:56
您可以使用
@Autowire
public void test(A bean1) {
...
}如果您使用
@Bean(name = "bean1")不是用
@Bean
@Qualifier("bean1")https://stackoverflow.com/questions/62822167
复制相似问题