我想创建clazz,在这里我可以创建两个具有相同类但配置不同的bean。
public class Clazz {
//same class : Client, inside has the different configuration
//inicilized by methods
@Bean(name="Bean1")
public Client1 (){}
@Bean(name = "Bean2")
public Clien2t (){}
}
然后我想把它们注入其他类中
public class ClassForInjectBean1{
@Autowired
@Qualifier("Bean1")
@NotNull
Client client
....
}
public class ClassForInjectBean2{
@Autowired
@Qualifier("Bean2")
@NotNull
Client client
....
}
我在类forinjectbean1和类forinjectbean2中尝试过这种构造
@Resource(name = "Bean2")
@NotNull
Client client
和
@Autowired
@Qualifier("Bean2")
但Spring不明白
ошибка : classforinjectbean1中构造函数的参数1需要单个bean,但找到了2:-bean1:由类路径资源中的方法“client1”定义…-bean2:由类路径资源中的方法“client2”定义。。。为什么我不能这么做?
我知道有一条路https://www.baeldung.com/spring-qualifier-annotation,但我不需要创建许多类和接口。
1条答案
按热度按时间wnrlj8wa1#
尝试使用
@Configuration
.指示一个类声明一个或多个@bean方法,并可由spring容器处理,以便在运行时为这些bean生成bean定义和服务请求
我给你举了一些例子。
输出为: