3 回答

TA貢獻(xiàn)1796條經(jīng)驗 獲得超10個贊
您正在使用@Configuration帶注釋的類。也許您可以為每個配置文件提供一個。下面是一個示例:
@Configuration
@Profile("profileA")
@PropertySource({"classpath:application-profileA.properties"})
public class ConfigurationProfileA{
@Value("${target.url}")
String url;
@Value("${target.usr}")
String usr;
@Value("${target.key}")
String key;
@Bean
public TargetConnector connector() {
return new TargetConnector(url, usr, key);
}
}
對配置文件B執(zhí)行相同的操作(也許您可以更好地構(gòu)建它,但這里的關(guān)鍵點是注釋@Profile(“”)和@PropertySource(“”))
一旦你有了配置類,Spring將使用你想要的配置類,只需填寫 -spring.profiles.active=profileA(或你在@Profile(“)注釋中編寫的配置文件的名稱)

TA貢獻(xiàn)2051條經(jīng)驗 獲得超10個贊
我認(rèn)為這行中有一個拼寫錯誤@PropertySource({“類路徑*:應(yīng)用程序連接器-dev.properties”})請通過刪除星號進(jìn)行檢查。

TA貢獻(xiàn)1817條經(jīng)驗 獲得超14個贊
為了使用特定配置文件運行,您可以使用例如選項運行-spring.profiles.active=dev
如果您不使用配置文件運行,它將加載您似乎沒有的默認(rèn)配置文件。application.properties
此外,建議始終具有應(yīng)用程序.properties,并在其中放入公共屬性和將在其他屬性文件中重寫的默認(rèn)值。
另一個錯誤是如何分配帶有注釋的屬性,您需要使用@Value
@Value("${PROPERTY_FROM_PROPERTIES_FILE}")
添加回答
舉報