Springboot profile 配置
在实际开发之中 由于开发(dev) 测试(beta) 运行(product)的环境不同,有可能需要选择不同的配置文件,所以在Springboot 里面充分的考虑到了此类问题 那么就专门提供多个profile配置 但是对于多profile配置一定给要区分出是yml 还是properties 这个两种资源的配置是不同的
1.0 基于yml 实现profile 的配置处理
在使用yml配置文件的时候所有可以使用的profile 配置项都要求在一个文件之中编写
pring:
profiles:
active: dev
---
spring:
profiles: dev
server:
port: 8080
---
spring:
profiles: beta
server:
port: 9090
---
spring:
profiles: product
server:
port: 80
2.0 此时所有的thymeleaf 页面都保存在src/main/resources 目录之中 而且所有的Springboot 配置文件*.yml 这个文件也应该都一起输出到jar文件里面 修改pom.xml 配置文件
2.1 这个pom.xml文件 在进行修改
<resources>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.yml</include>
<include>**/*.xml</include>
<include>**/*.tld</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
<include>**/*.tld</include>
</includes>
<filtering>false</filtering>
</resource>
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/*.*</include>
</includes>
<filtering>false</filtering>
</resource>
</resources>
将项目进行打包处理 在打包之后也可以动态切换profile 配置
先clean package
随后执行默认配置的话 java-jar 项目.jar
也可以在程序执行的时候设置一个执行参数处理
java-jar 项目.jar --spring.profiles.active=beta;
访问beta 配置后端口号和地址 出现下面结果就是成功了
3.0 在进行profile 配置的时候特别需要注意一点 如果你使用application.properties 配置,这样配置处理过程是不一样的
你基于属性文件配置 就需要编写多个属性文件内容
3.1 application-dev.properties 开发
server.port=8080
application-beta.properties 测试
server.port=9090
还需要有一个公共application.properties 配置文件
spring.profiles.active=beta
打包的时候切换配置 同上yml方式