2017-01-27 20 views
5

dayalı Seçme @Component aşağıda tanımlayın:Bahar: Ben bir arayüze sahip profiline

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

ve

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

Ve başka var:

@Service 
public interface MyService { 
} 

Ve iki sınıfları uygulamadan hizmetini kullanmaya çalışıyorum:

@Service 
public MyClass { 
    @Autowire 
    MyService myservice; 
} 

Kodu çalıştırırken sorun şu ki NoSuchBeanException alıyorum. Ben yanlış yapıyorum ne

mvn spring-boot:run -P dev

kullanılarak yönetecek?

cevap

3

-P ile Maven profilini etkinleştirirsiniz. Ancak Maven profilleri Bahar profillerinden bağımsızdır. Uygun Spring özelliğini ayarlamak için yapılandırılan Maven profiline sahip olmadığınız sürece, Bahar profilini şu şekilde etkinleştirmeniz gerekir:

mvn spring-boot:run -Dspring.profiles.active=dev 
İlgili konular