2017-01-27 1 views
5

に基づいて選択する@Componentは、以下のように定義する:春:私はインターフェイスを持つプロファイル

@Component 
@Profile("dev") 
public class DevImplementation implements MyService { 
} 

@Component 
@Profile("prod") 
public class ProdImplementation implements MyService { 
} 

をし、別のがあります:

@Service 
public interface MyService { 
} 

そして、2つのクラスは、それを実装しますそれを使用しようとしているサービス:

@Service 
public MyClass { 
    @Autowire 
    MyService myservice; 
} 

問題は、私がコードを実行するときNoSuchBeanExceptionを得ているということです。それは、私が間違って何をやっている

mvn spring-boot:run -P dev

を使用して実行するのですか?

答えて

3

-Pでは、Mavenプロファイルを有効にします。ただし、MavenプロファイルはSpringプロファイルとは独立しています。適切なSpringプロパティを設定するようにMavenプロファイルを設定していない限り、Springプロファイルをこのように有効にする必要があります。

mvn spring-boot:run -Dspring.profiles.active=dev 
関連する問題