指定要从特定配置类注入的特定bean

时间:2019-07-25 07:57:45

标签: java spring

我遇到一个问题,其中在2个不同的配置类中定义了单个Service的bean定义。

@Configuration
public class ConfigurationA{
   @Primary
   @Bean("beana")
   public beanA(){
         return Mockito.mock(BeanA.class);
   }
   @Bean("beanb")
   public beanB(){
         return new BeanB(beanA());
   }

   @PostConstruct
   public void initialize(){
        beanA().dosomething();
   }
}

@Configuration
public class ConfigurationB{
   @Bean("beana")
   public beanA(){
          return new BeanA();
   }         
}

因此,当调用intialize()方法时,我希望将使用BeanA的模拟实例,但使用通过ConfigurationB类注入的真实实例。

我已将“ beana”标记为主要bean,因此spring应该理想地使用此实例,但应使用在不同配置类中定义的实际实例。

有什么方法可以配置使用ConfigurationA类中的bean定义而不是ConfigurationB?

0 个答案:

没有答案
相关问题