簡體   English   中英

Spring多個配置相同接口的bean

[英]Spring multiple configured beans of same interface

如何通過@Configuration類返回相同類型的任意數量的@Bean對象? 就像是:

@Configuration
public class MyClass {
  @Bean
  public MyBean myBean {
  for (String myBeanName: getMyBeanNames()) {
    MyBean myBean = new MyBean();
    myBean.setName(myBeanName);
    return myBean
  }
}

顯然代碼片段無法編譯,但我如何實現結果呢?

我最終這樣做了:

 @PostConstruct
 public void postConstruct() {
  ConfigurableListableBeanFactory beanFactory = ((ConfigurableApplicationContext) applicationContext).getBeanFactory();    
  for (String myBeanName: getMyBeanNames()) {
      MyBean myBean = new MyBean();
      myBean.setName(myBeanName);
      beanFactory.registerSingleton(myBean.class.getName() + myBean.getName(), myBean)
    }
  }

暫無
暫無

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

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