A melhor prática para usar @Configuration feijão em outra classe @Configuration

Ashish:

Eu tenho que trabalhar com biblioteca existente da minha empresa que tem monte de @Bean embalados em @Configuration no projeto Spring mas seria adicionado como dependência para o meu projeto. A situação seria semelhante ao

@Configuration
Class A{
 @Bean
  B b(){
   return new B()
 }
}



@Configuration
  Class C{ 
    @Bean
    D d(){
     D d = new D();
   //TODO: How do I use instance of B here
     d.someConfiguration(B b);
     return d;
   }
  }

Devo inicializado Um usando novo operador em C e chamada de método b ou devo @Autowire Bem C diretamente.

Piscina morta :

Existem várias maneiras que você pode fazer isso

Por autowiring campo

@Configuration
 Class C{ 

 @Autowire
 private B b;

     @Bean
     D d(){
       D d = new D();
       //TODO: How do I use instance of B here
      d.someConfiguration(B b);
      return d;
      }
  }

Pelo construtor autowiring (Pessoalmente eu prefiro usar autowiring construtor que será de ajuda durante casos de teste)

@Configuration
 Class C{ 

 private B b;

  @Autowire
  public C(B b){
   this.b=b;
  }

     @Bean
     D d(){
       D d = new D();
       //TODO: How do I use instance of B here
      d.someConfiguration(B b);
      return d;
      }
  }

Ou você pode simplesmente adicioná-lo como argumentos de método primavera vai resolvê-lo

 @Configuration
 Class C{ 

     @Bean
     D d(B b){
       D d = new D();
       //TODO: How do I use instance of B here
      d.someConfiguration(B b);
      return d;
      }
  }

Acho que você gosta

Origin http://43.154.161.224:23101/article/api/json?id=313711&siteId=1
Recomendado
Clasificación