配置不同生产环境

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

设置maven

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

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

在pom文件中加

  • 在依赖前加

    <!--分别设置开发,生产环境-->
    <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>
  • 在标签中放该代码

    <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

//application.yaml

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

server:
port: 8080
//application-prod.yaml

server:
port: 80

注意:

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

			<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>

spring boot实现不同生产环境下的文件配置的更多相关文章

  1. Spring Boot项目在多环境下(开发、生产或测试环境)调用不同配置文件方式

    写在前面 最近由于项目要求,原先的项目只有开发环境的项目配置,后来不利于线上测试,于是,最近对于SpringBoot这部分多环境配置在网上查找了相关资料,并实现了配置,于是为了防止遗忘,特在此进行总结 ...

  2. spring boot profiles 实现多环境下配置切换 docker版

    1,前言 开发环境总需要调试,docker直接部署不需要调试,环境配置不一样,这里的目的只是,在docker文件环境与开发环境使用不同的配置文件,项目结构如下 2,设置项目配置文件 默认配置文件 ap ...

  3. 读取spring boot项目中resource目录下的文件

    在开发中, 我们常常要将我们的配置文件或者模板文件放在我们的resource目录中. 如下 而在spring boot的项目中, 我们运行的是一个jar包, 并没有解压 所以当我们使用以下方式获取文件 ...

  4. 生产环境下yum的配置

    介绍在局域网里面配置本地yum源环境: 在私有云的服务器上配置本地yum源 在局域网中有多台服务器,网段为192.168.10.0/24在其中一台10.11配置本地yum源,其他服务器中的baseur ...

  5. spring boot--日志、开发和生产环境切换、自定义配置(环境变量)

    Spring Boot日志常用配置: # 日志输出的地址:Spring Boot默认并没有进行文件输出,只在控制台中进行了打印 logging.file=/home/zhou # 日志级别 debug ...

  6. Python开发程序:生产环境下实时统计网站访问日志信息

    日志实时分析系统 生产环境下有需求:要每搁五分钟统计下这段时间内的网站访问量.UV.独立IP等信息,用直观的数据表格表现出来 环境描述: 网站为Nginx服务,系统每日凌晨会对日志进行分割,拷贝到其他 ...

  7. 生产环境下一定要开启mysqlbinlog

    在没有备份数据库的情况下,可以用binlog进行恢复 在生产环境下安全第一,损失一点点效率换来的安全还是值得的. http://www.cnblogs.com/zc22/archive/2013/06 ...

  8. mysql在生产环境下有大量锁表,又不允许重启的情况下的处理办法

    mysql在生产环境下有大量锁表,又不允许重启的情况下的处理办法 满头大汗的宅鸟该怎么办呢? mysql -u root -e "show processlist"|grep -i ...

  9. Mysql迁移工具在生产环境下的使用

    在产品迭代开发发布过程中,由于业务需求的增加,数据库难免会有结构调整等操作. 在每个版本发布过程中怎么控制每个版本server端程序与数据库版本保持一致,以及数 据库升级.回滚等操作. 本博文宅鸟将向 ...

随机推荐

  1. API 工程化分享

    概要 本文是学习B站毛剑老师的<API 工程化分享>的学习笔记,分享了 gRPC 中的 Proto 管理方式,Proto 分仓源码方式,Proto 独立同步方式,Proto git sub ...

  2. php魔术方法小结

    php魔术方法 __construct() __construct(mixed ...$values = ""): void PHP 允许开发者在一个类中定义一个方法作为构造函数. ...

  3. 893. Groups of Special-Equivalent Strings - LeetCode

    Question 893. Groups of Special-Equivalent Strings Solution 题目大意: AB两个字符串相等的条件是:A中偶数位出现的字符与B中偶数位出现的字 ...

  4. 程序分析与优化 - 4 工作列表(worklist)算法

    本章是系列文章的第四章,介绍了worklist算法.Worklist算法是图分析的核心算法,可以说学会了worklist算法,编译器的优化方法才算入门.这章学习起来比较吃力,想要融汇贯通的同学,建议多 ...

  5. 安装Zabbix到Ubuntu(APT)

    运行环境 系统版本:Ubuntu 16.04.2 LTS 软件版本:Zabbix-4.0.2 硬件要求:无 安装过程 1.安装APT-Zabbix存储库 APT-Zabbix存储库由Zabbix官网提 ...

  6. 用STM32玩OLED(显示文字、图片、动图gif等)

    目录 用STM32玩OLED(显示文字.图片.动图gif等) 1. 显示字符串 2. 显示中文 3. 显示图片 4. 显示动图 5. 总结测试 用STM32玩OLED(显示文字.图片.动图gif等) ...

  7. VSCode 安装以及初步使用教程

    老样子先介绍一下VSCode(是什么?干什么?有什么用?好处是什么?等) VisualStudioCode(简称VSCode)是Microsoft开发的代码编辑器,它支持Windows,Linux和m ...

  8. 跟着 Guava、Spring 学习如何设计观察者模式

    文章首发在公众号(龙台的技术笔记),之后同步到掘金和个人网站:xiaomage.info 今天讲解一篇行为型设计模式,什么是行为型?行为型主要负责设计 类或对象之间的交互.工作中常用的观察者模式就是一 ...

  9. re学习笔记

    re学习笔记 学习链接: https://regexlearn.com/zh-cn/learn \w: 数字字母下划线 \W: 非\w \d \D: !\d \s: space cha \S: !\s ...

  10. 第二章、DHCP原理与配置

    目录 一.了解DHCP服务 1DHCP概述: 2DHCP好处 3DHCP的分配方式 二.DHCP工作过程 DHCP租约过程 三.使用 DHCP动态配置主机地址 1DHCP服务优点 2可分配的地址信息主 ...