javascript
Spring Boot中的高级配置文件管理
我們都知道Spring Boot中的配置文件管理及其為不同環(huán)境配置應(yīng)用程序時提供的靈活性。 此功能的另一個強(qiáng)大方面是,在任何給定時間,我們都可以擁有多個活動配置文件。 這樣做的好處是我們可以將部署環(huán)境配置文件與業(yè)務(wù)用例相關(guān)的配置文件混合在一起。
讓我們假設(shè)我們將在同一環(huán)境中進(jìn)行應(yīng)用程序的不同部署,并且無論它們是否在同一環(huán)境中,某些屬性都將根據(jù)部署進(jìn)行更改。 在這種情況下,我們可以擁有特定于環(huán)境的應(yīng)用程序?qū)傩晕募?#xff0c;然后每個此類文件都可以覆蓋根據(jù)不同部署而變化的屬性。
我定義了三個應(yīng)用程序?qū)傩晕募?#xff0c;如下所示:
#application.properties app.name=Default spring.profiles.active=test,org1#application-local.properties app.name=Local#application-test.yml app:name: Test --- spring:profiles: org1 app:name: Test Org1 --- spring:profiles: org2 app:name: Test Org2然后,我們有一個簡單的AdvancedPropsDemo類,它具有main方法,該方法將打印屬性app.name的值:
@SpringBootApplication @Component public class AdvancedPropsDemo implements ApplicationRunner {@Value("${app.name}")String appName;public static void main(String[] args) {new SpringApplication(AdvancedPropsDemo.class).run(args);}@Overridepublic void run(ApplicationArguments args) throws Exception {System.out.println("App Name value " + appName);} }我們有一組test,org1作為活動的配置文件和Spring引導(dǎo)已回升智能application-test.yml文件,然后挑app.name中定義的屬性org1輪廓。 在YAML屬性文件中,我們可以為同一文件中的不同配置文件創(chuàng)建不同的部分,并在其對應(yīng)的配置文件部分中覆蓋所需的屬性
完整的代碼可以在這里找到。
翻譯自: https://www.javacodegeeks.com/2020/01/advanced-profile-management-in-spring-boot.html
總結(jié)
以上是生活随笔為你收集整理的Spring Boot中的高级配置文件管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 经济效益和社会效益的关系 效益内容介绍
- 下一篇: 用Spring组成自定义注释