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


    配置不同生产环境

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

    设置maven

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

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

    在pom文件中加

    • 在依赖前加

      copy
      <profiles> <profile> <id>devid> <activation> <activeByDefault>trueactiveByDefault> activation> <properties> <environment>devenvironment> properties> profile> <profile> <id>prodid> <activation> <activeByDefault>falseactiveByDefault> activation> <properties> <environment>prodenvironment> properties> profile> profiles>
    • 标签中放该代码

      copy
      <resources> <resource> <directory>src/main/resourcesdirectory> <excludes> <exclude>application*.yamlexclude> excludes> resource> <resource> <directory>src/main/resourcesdirectory> <filtering>truefiltering> <includes> <include>application.yamlinclude> <include>application-${environment}.yamlinclude> 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> ------------------------------------------------------------------ <springProfile name="dev"> <root level="INFO"> <appender-ref ref="CONSOLE"/> <appender-ref ref="FILE"/> root> springProfile> <springProfile name="prod"> <root level="INFO"> <appender-ref ref="FILE"/> root> springProfile>

  • 相关阅读:
    5G时代带动陶瓷PCB成长——GPS陶瓷天线调试方法(二)
    C++ 之 constexpr详解
    C# 常用功能整合-3
    Nginx配置SSL证书
    webpack--开发环境(devserver)
    22-9-17学习笔记
    Springboot毕设项目基于springboot的游戏交易网络无忧3op09(java+VUE+Mybatis+Maven+Mysql)
    ROS环境下使用WHEELTEC N100惯导模块
    1.弹弹球
    IDEA中使用Git,Github,Gitee
  • 原文地址:https://www.cnblogs.com/buchizicai/p/16517358.html