是否有可能确定哪个类需要使用Spring Context注入我的bean?我正在为我的bean使用仅Java配置。
假设我有这个豆子:
@Bean
@Scope("prototype")
public Helper helper() {
return new Helper();
}
现在我想知道这个实例将注入哪个类来注入一个特殊的实例。
我想做这样的事情,例如伪代码:
@Bean
@Scope("prototype")
public Helper helper(Class injectInto) {
if (injectInto == SomeClass.class) {
return new Helper("Only for SomeClass!");
}
return new Helper();
}
应该一如既往地注入豆子,例如:
@Autowired
private Helper helper;
答案 0 :(得分:0)
为此目的使用@Qualifier和@Bean(name =“”)注释。有很多关于如何使用它的在线资源。
@Bean(name="normal")
@Scope("prototype")
public Helper helper(Class injectInto) {
return new Helper();
}
@Bean(name="special")
@Scope("prototype")
public Helper helper(Class injectInto) {
return new Helper("Only for SomeClass!");
}
在SomeClass中自动装配:
@Autowired
@Qualifier(value = "special")
private Helper helper;