2017-01-27 5 views
5

के आधार पर मैं एक अंतरफलक है @Component नीचे के रूप में परिभाषित करते हैं:स्प्रिंग: चयन प्रोफ़ाइल

@Service 
public interface MyService { 
} 

और दो वर्गों लागू:

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

और

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

और वहाँ एक और है सेवा का उपयोग करने की कोशिश कर रहा है:

@Service 
public MyClass { 
    @Autowire 
    MyService myservice; 
} 

समस्या यह है कि कोड चलाने पर मुझे NoSuchBeanException मिल रहा है। यह

mvn spring-boot:run -P dev

का उपयोग कर क्या मैं गलत कर रहा हूँ चलाने है?

उत्तर

3

-P के साथ आप एक मेवेन प्रोफाइल सक्षम करते हैं। हालांकि मेवेन प्रोफाइल स्प्रिंग प्रोफाइल से स्वतंत्र हैं। जब तक आपके पास उपयुक्त स्प्रिंग प्रॉपर्टी सेट करने के लिए कॉन्फ़िगर नहीं किया गया है, तो आपको स्प्रिंग प्रोफाइल को इस तरह सक्षम करना होगा:

mvn spring-boot:run -Dspring.profiles.active=dev 
संबंधित मुद्दे