目录

前言

一、实例展示

1、创建一个profile包

2、在resources中创建两个profile对应的配置文件

3、设置environment

二、Other

1.先定义一个Service的接口:

2.提供两种Profile的实现:



前言

   在项目开发的时候,生产环境和测试环境的一些配置可能会不一样,有时候一些功能也可能会不一样,所以可能会在上线的时候手工修改这些配置信息。但是Spring中提供了Profile功能。只需要在启动的时候添加一个虚拟机参数,激活环境所要用的Profile就可以了。

   除了application.properties文件, 特定配置属性也能通过Profile配置文件application-{profile}.properties来定义。 特定Profile属性跟标准application.properties相同的路径加载, 并且特定profile文件会覆盖默认的配置。


一、实例展示

1、创建一个profile包

用来测试是不是从不同的配置文件中取的值(代码中使用了统一的属性注入注解,也可以使用Value逐一对每个属性进行注入)

2、在resources中创建两个profile对应的配置文件

  • application-dev.properties:

  • application-prod.properties:

3、设置environment

代表Profile选项的参数名:spring.profiles.active

  • 运行结果:

二、Other

有时候可能还会有这样的需求:生产环境或者开发环境我们所看到的功能是不同的,也需要我们根据配置项来激活不同的功能

1.先定义一个Service的接口:

代码如下(示例):

package org.etc.controller.service;public interface ProfileService {public String getProfileDomain();
}

2.提供两种Profile的实现:

代码如下(示例):


@Service
@Profile("dev")
public class ProfileDevServiceImpl implements ProfileService{@Overridepublic String getProfileDomain() {StringBuffer buffer = new StringBuffer("I'm development. I eat :...");buffer.append("rice");String str = buffer.toString();return str;}
}
@Service
@Profile("pro")
public class ProfileProServiceImpl implements ProfileService{@Overridepublic String getProfileDomain() {StringBuffer buffer = new StringBuffer("I'm product. I eat :...");buffer.append("meat,beef,fish...");String str = buffer.toString();return str;}
}

运行结果:自行可以更改环境中的value来获取dev/pro的输出结果


SpringBootProfile相关推荐

  1. SpringBoot中Profile配置和加载配置文件

    文章目录 一.多Profile的资源文件 二.profile激活 1.配置文件方式激活profile 2.命令行方式激活profile 三.@profile使用 写在前面: 我是「境里婆娑」.我还是从 ...

  2. 无法绘制一个或多个图层:_UIBezierPath课程:如何在图层上绘制Cuphead

    无法绘制一个或多个图层: I have a lot of custom shape layers and bezier paths on my last projects. I want to sha ...

  3. csdn怎么让代码变得好看_是什么让游戏变得更好

    csdn怎么让代码变得好看 Since the revitalization of the video game marketplace following the crash of 1983, ga ...

最新文章

  1. 【Zookeeper】Zookeeper集群“脑裂”问题处理大全
  2. 启明星会议室系统与Office365集成说明
  3. python 多继承的问题
  4. Linux操作系统CentOS7安装
  5. 大便的离去,是马桶的追求?还是肛门的不挽留?
  6. html 5效果不显示,详解如何解决H5开发使用wx.hideMenuItems无效果不生效
  7. WordPress无其他语言解决方法
  8. java实验6 词频统计_Java实现的词频统计——单元测试
  9. 解开Android应用程序组件Activity的singleTask之谜(3)
  10. vs code安装使用ESLint,typescript
  11. Centos 编译安装mysql 5.6.21
  12. 魔方机器人之下位机编程----串口接收数据并解析
  13. Python 文本转语音
  14. 4.正则匹配与re模块
  15. ngix请求转发配置
  16. Android开发——项目实例(一)迷你背单词软件
  17. 零基础搭建美团饿了么外卖红包CPS小程序教程
  18. 计算机装系统找不到硬盘,电脑小白装系统找不到硬盘
  19. 传奇手游服务器搭建_传奇私服服务器端在云服务器架设,全版本通用的传奇游戏架设教程...
  20. Android 获取设备号

热门文章

  1. mysql事务是什么意思_mysql事务是什么意思
  2. 微信小程序开发之.js文件
  3. 使用ELK保存Syslog、Netflow日志和审计网络接口流量
  4. 5大好用又免费BI软件系统
  5. codeforces 891E Lust 题解
  6. 5 款逆向工具,7 款代码分析工具,11 项优化建议
  7. 马云再次成功了!刚刚,阿里巴巴正式宣布再出两大产品!
  8. 利用ES实现酒店搜索功能
  9. 激光旋律(Laser melody)
  10. jdk 8 、9 10 11 12 13 14和 jdk 1.8 什么关系??