spring boot实现不同生产环境下的文件配置

配置不同生产环境

本文适用于开发环境下需要打包项目至生产环境,避免开发环境的配置文件泄露。

设置maven

作用:1. 手动调节运行时的不同环境 2. 打包时可以不会有其它环境的文件

注:每次换环境前(打包前)记得手动clean清楚,因为idea不会在换环境后自动清除另一个环境的文件

在pom文件中加

  • 在依赖前加

    copy
    <!--分别设置开发,生产环境--> <profiles> <!-- 开发环境 --> <profile> <id>dev</id> <activation> <!--设置默认为dev环境--> <activeByDefault>true</activeByDefault> </activation> <properties> <environment>dev</environment> </properties> </profile> <!-- 生产环境 --> <profile> <id>prod</id> <activation> <!--不设置该环境为默认环境--> <activeByDefault>false</activeByDefault> </activation> <properties> <environment>prod</environment> </properties> </profile> </profiles>
  • 标签中放该代码

    copy
    <resources> <!--排除配置文件--> <resource> <directory>src/main/resources</directory> <!--先排除所有的配置文件--> <excludes> <!--使用通配符,当然可以定义多个exclude标签进行排除--> <exclude>application*.yaml</exclude> </excludes> </resource> <!--根据激活条件引入打包所需的配置和文件--> <resource> <directory>src/main/resources</directory> <!--引入所需环境的配置文件--> <filtering>true</filtering> <includes> <include>application.yaml</include> <!--根据maven选择环境导入配置文件--> <include>application-${environment}.yaml</include> </includes> </resource> </resources>

设置三个yaml

application.yamlapplication-dev.yaml application-prod.yaml

copy
//application.yaml //方法一:弊端(打包时会把dev prod环境的配置文件都会打包),无法真正做到多环境开发 spring: profiles: active: dev //这里是写配置文件命名-后的单词 //方法二:通过maven来告诉springboot应该打包哪个环境的文件(优点:不会包含其他环境的配置文件) spring: profiles: active: '@environment@' #这里的单词要手动打,等有提示才行,不然会失败。注意YAML配置文件需要加单引号,否则会报错。
copy
//application-dev.yaml server: port: 8080
copy
//application-prod.yaml server: port: 80

注意:

如果有设置日志打印,想要不同环境日志打印不同需要去日志打印的配置文件改这些:把上面上部分改成下部分

copy
<root level="INFO"> <appender-ref ref="CONSOLE"/> <appender-ref ref="FILE"/> </root> ------------------------------------------------------------------ <!--dev环境下的日志输出方式--> <springProfile name="dev"> <root level="INFO"> <appender-ref ref="CONSOLE"/> <appender-ref ref="FILE"/> </root> </springProfile> <!--prod环境下的日志输出方式--> <springProfile name="prod"> <root level="INFO"> <appender-ref ref="FILE"/> </root> </springProfile>

posted @   不吃紫菜  阅读(764)  评论(0编辑  收藏  举报
相关博文:
点击右上角即可分享
微信分享提示
💬
评论
📌
收藏
💗
关注
👍
推荐
🚀
回顶
收起