javascript
如何在Spring Boot应用程序中使用配置文件
你好朋友,
在本教程中,我們將學習如何在Spring Boot應用程序中使用配置文件。
我們將在本教程中討論以下幾點:
1.什么是Spring Boot Profile,為什么我們需要分析
2.如何使用示例在Spring Boot中進行性能分析 3.如何設置/更改默認配置文件
1.什么是Spring Boot Profile,為什么我們需要分析
假設您正在使用Spring Boot應用程序。您已經通過連接到計算機上安裝的本地數據庫在計算機上對應用程序進行了本地測試。現在,您想將此應用程序部署在DEV環境中,并且在其中也有DEV數據庫服務器你有你的數據庫。
現在,在本地測試應用程序時,在您的application.properties文件中,您將在數據庫url,用戶名,密碼等詳細信息中找到詳細信息,這些信息是針對計算機上安裝的本地數據庫的,但是一旦移至DEV環境,您便希望您的應用程序與DEV數據庫而不是本地數據庫對話。
因此,您可以做的是,可以更改application.properties文件,其中包含連接到DEV數據庫所需的詳細信息,提交代碼并將其部署在DEV上,但是現在的問題是此代碼可以很好地與DEV數據庫連接,但是當您嘗試從本地執行此代碼時,它將無法工作,因為您已將數據庫詳細信息更改為DEV數據庫。
因此,再次使其在您的本地計算機上運行,??您將必須在本地和執行應用程序所需的application.properties中進行更改。
如您所見,在本地和DEV之間進行混洗有很多麻煩。
現在想象一下,您擁有更多的環境,例如ST,ET(QA),PROD,并且必須一直手動進行更改,這將是一場噩夢。
那么解決方案是什么?
搶救中的Spring Boot配置文件!
Spring Boot使您可以外部化應用程序配置,以便無需更改即可在不同環境中使用相同的應用程序代碼。
Spring Boot Profiles允許您針對每個環境配置多個application.properties文件,這樣當您在本地時,它將使用本地屬性文件,當您在DEV時,它將使用DEV屬性文件,依此類推,而無需將其作為程序員需要對代碼進行任何顯式更改。
因此,通常來說,如果某些應用程序屬性隨環境而變化,則可以在Spring Profiles的幫助下進行處理。
看起來很酷。 是不是:)
2.如何使用示例在Spring Boot中進行性能分析
2.1按照我的帖子如何使用Spring Initializer創建Spring Boot項目并創建名稱為“ Springbootprofiles”的Spring Boot項目。僅添加Web依賴項,因為這足以進行我們的測試。
2.2在由Spring intializer自動創建的應用程序.properties文件中,添加以下行:
application.environment =這是本地環境
2.3通過單擊項目并選擇運行方式->運行配置->運行來運行應用程序
2.4檢查Spring Boot生成的控制臺日志
您將在日志中看到以下行
2019-07-07 20:00:52.147信息15560 — [main] cbjsSpringbootprofilesApplication:未設置活動配置文件,回退到默認配置文件:默認
基本上,這表明我們尚未顯式設置任何配置文件,因此Spring Boot使用默認配置文件,換句話說,Spring Boot使用application.properties文件中的配置。
我們如何檢查呢?
讓我們看看下一步。
2.5創建名為ProfileController.java的控制器,如下所示:
package com.blogspot.javasolutionsguide.springbootprofiles.controller;import org.springframework.beans.factory.annotation.Value; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController;/*** @author javaSolutionsGuide**/ @RequestMapping("/v1") @RestController public class ProfileController {@Value("${application.environment}")private String applicationEnv;@GetMappingpublic String getApplicationEnv() {return applicationEnv;}}在這里,基本上,我們想要做的是,我們嘗試使用@Value注釋訪問控制器中application.properties文件中定義的application.environment屬性,這樣當我們從瀏覽器中訪問此資源uri時,我們應該“這是一個本地環境”。
2.6讓我們通過單擊項目并選擇Run as-> Run Configurations-> Run再次啟動應用程序,然后實際訪問資源URI(
http:// localhost:8080 / v1 ),看看是否從application.properties文件返回了期望的值。
因此,它正在按預期工作。
總結:當我們在spring boot應用程序中未設置任何配置文件時,默認情況下它將選擇默認配置文件,該文件就是default application.properties文件。
注意:如果需要,您也可以將默認配置文件更改為其他屬性文件。我們將在本教程的后面看到。
2.7現在,說您想將代碼部署到DEV環境,以便當應用程序在DEV上運行時希望您的應用程序選擇DEV特定的屬性,而在本地運行時希望您的應用程序選擇LOCAL環境的特定屬性。
為此,我們需要做的是創建另一個名為application-dev.properties的屬性文件。通常的命名約定是application- {profile name} .properties'
配置文件名稱通常是環境名稱,但可以是任何文本。
2.8讓我們在application-dev.properties文件中添加以下行
application.environment =這是一個開發環境
2.9現在,如何告訴應用程序使用dev配置文件而不是默認配置文件。
為此,我們需要設置“ spring.profiles.active”環境變量,如下所示:
spring.profiles.active =開發
要進行設置,請右鍵單擊項目,選擇運行方式->運行配置->環境->新建->將名稱添加為spring.profiles.active,將值添加為dev->單擊確定->運行
2.10如果您現在要檢查日志,則會在日志中找到以下行:
2019-07-07 20:22:08.557 INFO 17172 — [main] cbjsSpringbootprofilesApplication:以下配置文件處于活動狀態:dev
這表明開發人員配置文件現在處于活動狀態。
2.11讓我們進行實際測試,看看我們的控制器是否從application-dev.properties中選擇了值
2.12點擊資源URI ( http:// localhost:8080 / v1 ),然后在瀏覽器中查看結果
很顯然,該時間值已從application-dev.properties文件中選取。
總結:我們的Spring Boot應用程序中可以為n個環境使用n個屬性文件,這些文件將具有特定于該環境的配置。要在相應環境中使用屬性文件,我們要做的就是設置spring.profiles該環境的.active屬性和spring boot將選擇各自的屬性文件。
3.如何設置/更改默認配置文件
正如我們在上面看到的那樣,默認情況下,spring boot選擇默認配置文件,這意味著它選擇了application.properties文件。如果相反,我們想將dev用作我們的默認配置文件。
在這種情況下,您需要做的就是刪除spring.profiles.active并將spring.profiles.default屬性設置為我們要在Eclipse中將其設置為默認配置文件作為環境變量的配置文件。
spring.profiles.default =開發
現在,如果您要重新運行您的應用程序,您將在控制臺日志中看到以下行:
2019-07-07 20:35:23.587 INFO 16832 — [main] cbjsSpringbootprofilesApplication:未設置活動配置文件,回退到默認配置文件:dev
因此,從上面的日志中可以明顯看出,dev現在被視為默認配置文件。
我們可以通過點擊資源URI( http:// localhost:8080 / v1 )進一步進行驗證
總結:如果我們沒有將任何配置文件設置為默認配置文件,則默認情況下,spring boot將從application.properties文件中選擇配置。如果要將其他環境配置設為默認配置,則可以將spring.profiles.default屬性設置為那個環境
即使未設置spring.profiles.active,Spring Boot也會選擇該特定于環境的屬性 感謝您的閱讀。請與他人分享,您認為這可能會有所幫助。
翻譯自: https://www.javacodegeeks.com/2019/07/profiles-spring-boot-application.html
總結
以上是生活随笔為你收集整理的如何在Spring Boot应用程序中使用配置文件的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 触宝电脑输入法(触宝手写输入法)
- 下一篇: spring发邮件_跟踪异常–第4部分–