簡體   English   中英

在 Spring 配置中自動裝配/注入一個類型的單個 bean 和一個類型的 bean 列表的 bean

[英]Auto-wiring/injection of Individual beans of a type and bean of list of beans of a type in Spring Configuration

我在 spring 配置中進行了以下設置

@Bean
public Myclass myClassOne() {
    return new MyClass();
}

@Bean
public Myclass myClassTwo() {
    return new MyClass();
}

@Bean
public YourClass processAndCreateYourClass(List<MyClass> allMyclasses) {
    //Some business logic to process all myclasses beans so that I can create YourClass bean
     return new YourClass();
}

這可以按預期工作,並且我得到了在processAndCreateYourClass中注入的所有 myclasses 的列表(沒有自動裝配注釋)但是如果我還有一個像下面這樣的 bean 怎么辦

@Bean
public List<Myclass> listOfMyClasses() {
    //return list of my classes from here
}

processAndCreateYourClass方法中,我期待所有單獨聲明的 myclass bean 和listOfMyClasses返回的列表的聯合。 但情況似乎並非如此。 期望 Spring 的行為是否公平,或者有更好的優雅解決方案?

嗯..我建議您使用限定符將您的 bean 添加到“processAndCreateYourClass”。

像這樣的東西將具有可維護性且易於閱讀。

@Bean
public YourClass processAndCreateYourClass(@Qualifier("myClassOne") Myclass1, @Qualifier("myClassTwo") Myclass2) {
    //Some business logic to process all myclasses beans so that I can create YourClass bean
     return new YourClass();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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