springboot-多环境配置文件

代码纪元 后端 2025-03-03

springboot-多环境配置文件

创建两个环境的配置文件

创建两个环境的配置文件:开发和生产。

springboot-多环境配置文件

内容不一样,比如数据库的用户名密码不一样。

idea怎么知道是哪个环境?

找到运行配置

springboot-多环境配置文件

找到profile配置项(profile就是环境的意思),值为dev。因为idea是开发环境嘛,所以直接填写dev即可。springboot-多环境配置文件

到这里其实就已经配置完成了,启动即可找到对应环境的配置文件。而且启动日志也会打印是哪个环境。java

代码解读
复制代码
2023-08-20 23:50:42.662 INFO 40992 --- [ main] com.itranswarp.Application : The following 1 profile is active: "dev"

生产环境

开发环境ok之后,我们现在要打包发布到生产环境,这个时候怎么办?

基于maven的命令的参数-Pprod。java

代码解读
复制代码
clean package -DskipTests -Pprod

-P参数就是profile参数,即打包的时候使用哪个环境的配置文件。


除了maven命令需要添加入参,pom文件还需要配置入参。说白了,就是二者结合才能生效。

小结

1、多环境配置文件的文件名字都是按固定格式来,因为约定大于配置。

2、正因为约定大于配置,所以不管是idea,还是maven打包命令,配置环境参数之后,就会自动找到对应环境的配置文件。

公共配置

如果有公共配置,也可以放在application.yml文件。所谓公共配置,就是不同环境的公共配置项和值都一样,那么就可以放在公共配置文件,说白了,就是只在一个地方维护。

日志

启动项目之后,如果控制台出现看不到日志的情况,但是项目是启动成功并且可以正常访问,那么有可能是日志配置文件里的profile配置的不对。

比如,检查logback-spring.xml里的profile配置是否正确。因为有可能写到其他地方去了。xml

代码解读
复制代码
<springProfile name="native"> <root level="INFO"> <appender-ref ref="CONSOLE" /> <!-- native配置即本地配置,就写日志到控制台 --> </root> </springProfile> <springProfile name="!native"> <root level="INFO"> <!-- <appender-ref ref="APP_LOG" />--> <!-- 非native配置,就写日志到文件 --> <appender-ref ref="CONSOLE" /> </root> </springProfile>

转载来源:https://juejin.cn/post/7269563694677032960

Apipost 私有化火热进行中

评论