[英]Inject class object based on generic type using Spring
我有一個與Spring注入相關的問題。
我有一個用通用類型參數定義的類。 我想知道是否可以注入類型T的類對象(我的意思是T.class)?
像這樣:
@Component
public class MyExecutor<T> {
@Autowired
public MyExecutor(<Inject class object of T>) {
....
}
}
非常感謝你。
這個具體的例子不起作用,但是還有另一種使用泛型創建bean並在將bean注入其他bean中時保持類型的方法。
Spring 4擴展了對Java配置中泛型的支持。 現在可以定義兩個僅在使用的通用參數上不同的bean,然后按類型將它們注入另一個bean,請參見此JIRA :
@Configuration
public class Config {
@Bean("beanA")
public MyExecutor<A> beanA() {
return new MyExecutor<A>(A.class);
}
@Bean("beanB")
public MyExecutor<B> beanB() {
return new MyExecutor<B>(B.class);
}
}
然后可以通過類型注入beanA或beanB:
@Component
public class OtherClass {
@Autowired
private MyExecutor<A> beanA;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.