2016-03-25 11 views
2

spring.profiles.activeプロパティに基づいてフィールドを自動配線する必要があります。 サービスはプロファイルに基づいて作成されますが、サービスは他のクラスでautowiredなので、@Profileアノテーションを使用することはできません。春@ @Profileに基づく@Autowireフィールド

プロファイルに基づいてフィールドを自動配線する方法はありますか。

答えて

2

プロファイルごとに異なるサービス実装を作成できます。 Iデータソース豆

例を模擬するためにmockitoを使用以下の例で

@Configuration 
    @ComponentScan 
    class YourConfig { 

     @Profile("production") 
     @Qualifier("datasource") 
     @Bean 
     public DataSource dataSourceProduction(){ 
      return new DataSourceProduction() 
     } 

     @Profile("development") 
     @Qualifier("datasource") 
     @Bean 
     public DataSource dataSourceDevelopment(){ 
      return mock(DataSourceProduction.class); 
     } 
+0

モックの作成を避けるために募集しました。しかし、私は同じことをしなければならないと思います。 – unnik

関連する問題