点击关注公众号,更多资讯及时推送↓
引言
一、初始项目配置
server:
port: 8080
tomcat:
max-connections: 20
threads:
max: 20
min-spare: 10
accept-count: 10
spring:
config:
name: tomandcat
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/xxxdb?serverTimezone=GMT%2B8
username: root
password: root
type: com.alibaba.druid.pool.DruidDataSource
二、使用”Profile” 来实现环境切换
2.1创建不同环境的配置文件(如开发、测试、生产环境)
这时候你可能会产生疑问:为什么我这样创建文件,就可以让Spring Boot 读到呢??
答:这是因为 SpringBoot 它是一个整合框架,同时它的开发理念就是我们常说的约定>配置>编码,从而提高我们程序开发的效率。
# 自定义配置 为了等下验证读取的配置文件环境
appName: tomandcat-dev
server:
port: 8091
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/xxx01?serverTimezone=GMT%2B8
username: root
password: root
type: com.alibaba.druid.pool.DruidDataSource
2.2 POM文件添加配置
<!-- 配置maven占位符-->
<profiles>
<!-- 配置需要切换的环境 -->
<profile>
<id>dev</id>
<!-- properties下的每个子标签我们可以理解为一个配置 -->
<properties>
<!-- 标签名为自定义,和我们平时写properties一样,同样我们也可以定义一个或多个(key, value)配置-->
<runtime-profile>dev</runtime-profile>
<!-- 如果你需要配置一些变量,你可以在这里设置一个k-v数据,在具体的环境变量中读取这个数据或者你也可以在具体的配置文件中直接设置(如application-dev.yml) -->
<config-addr>127.0.0.1:8848</config-addr>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<runtime-profile>prod</runtime-profile>
<config-addr>127.0.0.1:8848</config-addr>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<runtime-profile>test</runtime-profile>
<config-addr>127.0.0.1:8848</config-addr>
</properties>
</profile>
</profiles>
2.3 配置占位符生效(假如你是通过Maven插件来进行动态切换的,你需要添加如下内容, 否则跳过)
<build>
<!-- 配置所有的yml文件中占位符生效, 假如我们是手动来更新application.yml文件我们可以不配置,手动更新指的是我们在application.yml直接指定profile的值如dev、prod-->
<resources>
<resource>
<directory>src/main/resources</directory>
<!-- 会生效-->
<filtering>true</filtering>
</resource>
</resources>
</build>
2.4 修改我们的application.yml文件
三、结果测试并验证:
3.1 编写验证类
@RestController
@RequestMapping("/api")
public class HelloWord {
@Value("${appName}")
private String appName;
@Value("${server.port}")
private String port;
@RequestMapping("/hello")
public String test(){
return "hello word! - " + port + " - " + appName;
}
}
3.2 验证dev环境
3.3 切换为prod环境
四、总结
原文始发于微信公众号(Java技术前沿):Spring Boot入门:实现多环境配置文件切换,轻松搞定不同环境部署问题
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/299503.html