[英]Spring boot : bean creation profile specific
我正在開發 spring 引導應用程序。我正在使用 spring 引導版本:2.2.4-RELEASE
我正在嘗試創建一個特定於配置文件的 bean。但是 bean 沒有按預期創建。
下面是我的配置文件:
@Configuration
@Slf4j
public class TestConfig {
//below is the bean i need to be created for dev and test
@Bean
@Profile({“dev”, “test”})
TestObject getTestObject() {
//do something
}
//below is the bean i need to be created for staging and prod
@Bean
@Profile({“staging”, “prod”})
TestObject getTestObject() {
//do something
}
//someother beans common for all profiles
}
服務.java
@Service
public class Serviceclass {
@Autowired
private TestObject testObj;
//some methods
}
我嘗試了上述方法,但沒有為任何配置文件創建 bean。 關於如何實現這一目標的任何建議都會有所幫助。
更新:應用程序無法啟動,因為 class 服務之一依賴於我要創建的 bean。
提前致謝。
在找到的注釋中
使用不同的 Java 方法名稱指向相同的 bean 名稱
您必須為應用程序激活配置文件。 您可以將運行時參數作為-Djava.profiles.active=dev傳遞。 它會解決你的問題。 此外,需要創建特定於環境的屬性文件,例如application-{env}.properties
我認為問題是相同的方法名稱。 出於某種原因,如果我給出相同的名稱(方法重載),我們就會遇到問題。 找到了一個類似的線程,解釋相同。
非常感謝所有試圖解決這個問題的人。
注意:我將嘗試找到該線程並將在此處更新該線程以解釋相同的內容。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.