`
sundful
  • 浏览: 1231928 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

springboot中spring.profiles.include的妙用

 
阅读更多

我们有这样的一个springboot项目。项目分为开发、测试、生产三个不同阶段(环境),每个阶段都会有db、ftp、redis等的不同配置信息。我们可以使用spring.profiles.include来实现三种不同环境的一键切换。

 

 

 

项目总(入口)配置文件:

 

bootstrap.yml  ,内容如下

 

spring.profiles.active:  dev  #dev、test、prod 三种配置可以在这里进行一键切换,默认激活 dev(开发)环境配置

 

  

 

项目开发环境配置文件:

 

application-dev.yml (开发环境入口配置)、application-devDb.yml 、application-devFtp.yml、application-devRedis.yml 

 

application-dev.yml 中含有如下内容

 

spring.profiles.include: devDb,devFtp,devRedis 

 

项目测试环境配置文件:

 

application-test.yml (测试环境入口配置)、application-testDb.yml 、application-testFtp.yml、application-testRedis.yml 

 

application-test.yml 中含有如下内容

 

spring.profiles.include: testDb,testFtp,testRedis

 

项目生产环境配置文件:

 

application-prod.yml (生产环境入口配置)、application-prodDb.yml 、application-prodFtp.yml、application-prodRedis.yml 

 

application-prod.yml 中含有如下内容

 

spring.profiles.include: prodDb,prodFtp,prodRedis

 

spring.profiles.include 的作用是可以叠加激活新的profile ,这样可以在总的项目配置(bootstrap.yml)中实现一键切换dev、test、prod三者不同环境, 即 

 

切换为dev时,同时激活了dev、devDb、devFtp、devRedis 的profile

 

切换为test时,同时激活了test、testDb、testFtp、testRedis 的profile

 

切换为prod时,同时激活了prod、prodDb、prodFtp、prodRedis 的profile

 

另外: 在yml配置文件中配置List<String> 的值,可以采用  -子项 的方式,如 :

 

spring.profiles.include:

 

  - 子项1

 

  - 子项2

 

  - 子项3   

 

也可以采用 逗号分隔元素列表的方式,如: 

spring.profiles.include: 子项1,子项2,子项3    

分享到:
评论

相关推荐

    Spring Boot配置特定属性spring.profiles的方法

    主要介绍了Spring Boot配置特定属性spring.profiles的方法,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下

    SpringBoot面试专题.pdf

    你用 Spring Boot 实现了它吗? 13.什么是 Spring Profiles? 14.什么是 Spring Batch? 15.什么是 FreeMarker 模板? 16.如何使用 Spring Boot 实现异常处理? 17.您使用了哪些 starter maven 依赖项? 18.什么是 ...

    使用spring.profiles.active来分区配置的方法示例

    主要介绍了使用spring.profiles.active来分区配置的方法示例,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

    springboot面试题.pdf

    1. 什么是Spring Boot?它的主要特点和优势是...10. Spring Boot中的profiles是用来做什么的?如何根据不同的环境配置文件来加载不同的配置? 11. 什么是Actuator?它在Spring Boot中的作用是什么?如何启用Actuator?

    Linux下SpringBoot/SpringCloud微服务部署Shell

    Linux下SpringBoot/SpringCloud微服务部署Shell,对微服务jar进行部署,格式如下: sh spring-boot.sh $OPERATION jar包.jar --spring.profiles.active={自定义} OPERATION支持start、stop、status

    springboot学习思维笔记.xmind

    通过设定jvm的spring.profiles.active参数 web项目设置在Servlet的context parameter中 事件Application Event 自定义事件,集成ApplicationEvent 定义事件监听器,实现ApplicationListener 使用容器...

    spring.profiles.active=test/application-{profile}.properties 多环境配置

    我们在开发Spring Boot应用时,通常同一套程序会被应用和安装到几个不同的环境,比如:开发、测试、生产等。其中每个环境的数据库地址、服务器端口等等配置都会不同,如果在为不同环境打包时都要频繁修改配置文件的...

    Manning.Spring.in.Action.4th.Edition.2014.11.epub

    Praise for the Third Edition of Spring in Action Preface Acknowledgments About this Book 1. Core Spring Chapter 1. Springing into action 1.1. Simplifying Java development 1.1.1. Unleashing the power ...

    springboot+mybatis+内置tomcat示例.rar

    #spring.profiles=development #server.address=127.0.0.1 #端口设置 server.port=8092 #日志配置 logging.config=classpath:log4j2.xml 内容2: java JNA调用动态库, 爱莎门锁动态库接口 将动态库 ...

    UserPro.User.Profiles.with.Social.Login

    UserPro.User.Profiles.with.Social.Login 你懂的tf上的

    springboot框架

    springboot mybatis management: security: enabled: false spring: profiles: active: local application: name: hh-store http: multipart: max-file-size: 3MB max-request-size: 18MB server: port: ...

    demo_springboot.rar

    基于idea 使用编spring-boot-starter-data-jpa操作mysql数据库的demo,代码可以直接修改数据库直接跑。同时代码展示了两种传参方式。以及正式环境和测试环境直接通过 jar 运行,直接运行:java -jar target/demo_...

    demo:保存一些有价值的实例

    spring.profiles spring.profiles.include ==&gt; [导入某配置模块] spring.profiles.active ==&gt; [使用某配置文件作为启动配置]使用: application.yml使用spring.profiles.include引入其他配置(分类好的如db,redis,...

    内嵌式tomcat启动web工程

    内嵌式tomcat启动web工程,maven代码 内嵌式tomcat启动web工程,maven代码

    multiple-profiles-yaml.7z

    比较常见的是设置application.properties中的spring.profiles.active环境变量 但是yml的精简特性很值得称道,用过之后就不能忍受property 文件的臃肿了. 试着google基于yml的多环境打包,并没有一个很直观的例子. 虽然...

    spring-boot-reference.pdf

    18. Using the @SpringBootApplication Annotation 19. Running Your Application 19.1. Running from an IDE 19.2. Running as a Packaged Application 19.3. Using the Maven Plugin 19.4. Using the Gradle ...

    Python库 | molo.profiles-1.3.3.tar.gz

    资源分类:Python库 所属语言:Python 资源全名:molo.profiles-1.3.3.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059

    springboot的profile的例子

    springboot,讲解profile的例子:传参、参数、配置文件(application.properties中添加spring.profiles.active的值)

    springboot参考指南

    在Spring环境中使用YAML暴露属性 iii. 23.6.3. Multi-profile YAML文档 iv. 23.6.4. YAML缺点 vii. 23.7. 类型安全的配置属性 i. 23.7.1. 第三方配置 ii. 23.7.2. 松散的绑定(Relaxed binding) iii. 23.7.3. @...

    SpringCloud服务中心

    注册中心jar包下载,cmd运行命令。 java -jar service-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer1 java -jar service-0.0.1-SNAPSHOT.jar --spring.profiles.active=peer2

Global site tag (gtag.js) - Google Analytics