如何使用Spring Boot的Profiles
Spring提供了@Profile讓我們為不同的環境建立不同的配置:例如,假設我們有生產,開發和測試等環境。在開發環境中,我們可以啟用開發配置檔案;在生產環境中我們可以啟用生產配置檔案等。
我們可以使用profile檔名稱建立屬性檔案:application-{profile}.properties,我們可以使用名為application-dev.properties和application-production.properties的兩個檔案為開發和生產配置檔案配置不同的資料來源。
在application-production.properties檔案中,我們可以設定MySql資料來源:
可以在application-dev.properties檔案中為dev配置檔案配置相同的屬性,以使用記憶體中的H2資料庫:
可以使用屬性檔案.properties / .yml、命令列和以程式設計等三種方式啟用相應的配置檔案。
啟用方式:
1. 使用 application.properties屬性檔案啟用 .
spring.profiles.active=dev
2. 使用命令列, 當我們在命令列新增一個活動配置時,將取代屬性檔案中的活動配置。
java -jar -Dspring.profiles.active=dev myapp.jar
3. 透過程式設計啟用:
或
4. 在Spring測試中,使用@ActiveProfiles註釋新增活動配置檔案。
5. 系統環境啟用:
export spring_profiles_active=dev
這是Spring Boot配置外部化的靈活。
我們可以使用profile檔名稱建立屬性檔案:application-{profile}.properties,我們可以使用名為application-dev.properties和application-production.properties的兩個檔案為開發和生產配置檔案配置不同的資料來源。
在application-production.properties檔案中,我們可以設定MySql資料來源:
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver spring.datasource.url=jdbc:mysql://localhost:3306/db spring.datasource.username=root spring.datasource.password=root <p class="indent"> |
可以在application-dev.properties檔案中為dev配置檔案配置相同的屬性,以使用記憶體中的H2資料庫:
spring.datasource.driver-class-name=org.h2.Driver spring.datasource.url=jdbc:h2:mem:db;DB_CLOSE_DELAY=-1 spring.datasource.username=sa spring.datasource.password=sa <p class="indent"> |
可以使用屬性檔案.properties / .yml、命令列和以程式設計等三種方式啟用相應的配置檔案。
啟用方式:
1. 使用 application.properties屬性檔案啟用 .
spring.profiles.active=dev
2. 使用命令列, 當我們在命令列新增一個活動配置時,將取代屬性檔案中的活動配置。
java -jar -Dspring.profiles.active=dev myapp.jar
3. 透過程式設計啟用:
@Component @Profile("dev") //也可以配置成@Profile("!dev") public class DevDatasourceConfig .. <p class="indent"> |
或
@SpringBootApplication public class MyApplication { public static void main(String[] args) { SpringApplication application = new SpringApplication(MyApplication.class); application.setAdditionalProfiles("dev"); application.run(args); } } <p class="indent"> |
4. 在Spring測試中,使用@ActiveProfiles註釋新增活動配置檔案。
5. 系統環境啟用:
export spring_profiles_active=dev
這是Spring Boot配置外部化的靈活。
相關文章
- 帶實習生學Spring Boot 之 Spring ProfilesSpring Boot
- spring.profiles.active=@profiles.active@的含義Spring
- 如何在spring boot 使用 gitlab的ApiSpring BootGitlabAPI
- spring boot 服務啟動時no active profile set, falling back to default profiles: default的問題Spring Boot
- Spring Boot 2.0(四):使用 Docker 部署 Spring BootSpring BootDocker
- Spring Boot Admin 使用Spring Boot
- Spring Boot 使用1Spring Boot
- Spring Boot(十二):Spring Boot 如何測試打包部署Spring Boot
- Spring Boot 非同步框架的使用Spring Boot非同步框架
- 如何定製 Spring Boot 的 Banner?Spring Boot
- Spring Boot中如何使用Ostara監控應用?Spring Boot
- Spring Boot(三):Spring Boot中的事件的使用 與Spring Boot啟動流程(Event 事件 和 Listeners監聽器)Spring Boot事件
- 使用Spring Boot整合ConsulSpring Boot
- spring boot中zookeeper使用Spring Boot
- spring boot中redis使用Spring BootRedis
- Spring Boot日誌使用Spring Boot
- 使用 Docker 部署 Spring BootDockerSpring Boot
- Spring Boot如何跑起來Spring Boot
- 如何提高在Spring Boot中使用MQ JMS的效率 -Mark TaylorSpring BootMQ
- 使用–spring.profiles.active=prod指定的配置會覆蓋命令列傳入的配置Spring命令列
- Spring Boot日誌的使用和配置Spring Boot
- Spring Boot Test 的詳細使用教程Spring Boot
- 使用Spring Boot實現的GraphQL示例Spring Boot
- springboot(十一):Spring boot中mongodb的使用Spring BootMongoDB
- Spring Boot中攔截器的使用Spring Boot
- 如何實現自己的Spring Boot StarterSpring Boot
- SpringBoot --spring.profiles.active相關問題Spring Boot
- maven中profiles使用詳解Maven
- Spring Boot乾貨系列:(十二)Spring Boot使用單元測試Spring Boot
- 如何使用Spring Boot,Spring Data和H2 DB實現REST APISpring BootRESTAPI
- spring-boot 中使用 FastDFSSpringbootAST
- Spring Boot整合swagger使用教程Spring BootSwagger
- 使用Spring Boot建立docker imageSpring BootDocker
- Spring Boot使用MyBatis Generator、SwaggerSpring BootMyBatisSwagger
- 使用Spring Boot和Elasticsearch教程Spring BootElasticsearch
- Spring Boot中使用token:jwtSpring BootJWT
- 在 Spring Boot 中使用 RedisSpring BootRedis
- Spring Boot 2.X(七):Spring Cache 使用Spring Boot