1. 语法结构: application-{profile}.properties。profile: 代表的就是一个环境变量。
2. 多环境属性配置文件例子
2.1. 使用maven构建SpringBoot的名叫spring-boot-multi-applicationproperties项目
2.2. 新建pom.xml
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.bjbs</groupId>
<artifactId>spring-boot-applicationproperties-variable</artifactId>
<version>0.0.1-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.13.RELEASE</version>
</parent>
<!-- 修改jdk版本 -->
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<!-- springBoot的启动器 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
<!-- 1. 在SpringBoot项目中, 框架提供了一套自己的打包机制, 是通过spring-boot-maven-plugin插件来实现的。可以在MAVEN的生命周期package后重新打包, 生成新的jar包。 -->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2.3. 在src/main/resources下, 新建application-dev.properties, 开发环境使用。
server.port=7777
msg=dev env
2.4. 在src/main/resources下, 新建application-prod.properties, 生产环境使用。
server.port=8888
msg=prod env
2.5. 在src/main/resources下, 新建application-test.properties, 测试环境使用。
server.port=9999
msg=test env
2.6. 新建ConfigController.java
package com.bjbs.config;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class ConfigController {
@Value("${msg}")
private String msg;
@RequestMapping("/showMsg")
public String showMsg() {
return msg;
}
}
2.7. 新建App.java
package com.bjbs;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* spring Boot启动器
*/
@SpringBootApplication
public class App {
public static void main(String[] args) {
SpringApplication.run(App.class, args);
}
}
2.8. 使用Maven打包
2.9. 打包成功
2.10. target目录下生成jar
2.11. 拷贝jar到D盘, 使用命令测试开发环境:
java -jar spring-boot-applicationproperties-variable-0.0.1-SNAPSHOT.jar --spring.profiles.active=dev
2.12. 使用命令测试生产环境:
java -jar spring-boot-applicationproperties-variable-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod
2.13. 使用命令测试测试环境:
java -jar spring-boot-applicationproperties-variable-0.0.1-SNAPSHOT.jar --spring.profiles.active=test