簡體   English   中英

使用Spring根據通用類型注入類對象

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM