接上一篇:SpringBoot入门到精通_第5篇 _SpringBoot Actuator监控
https://blog.csdn.net/weixin_40816738/article/details/101097428

文章目录

  • 一、SpringBoot 配置管理
    • 1. 配置管理3种方式
    • 1.1. 以.properties为后缀名
    • 1.2. 以.yml/.yaml为后缀名(建议使用)
    • 2. Spring Boot配置管理17种姿势
      • 2.1. 配置文件
      • 2.2. 环境变量
      • 2.3. 启动项目访问:
    • 3. 启动项目第2种形式:
    • 4. 外部配置文件_优先级
    • 5. 命令行参数
      • 5.1. idea中配置
      • 5.2. 命令行配置启动
    • 6. 必知必会 Profile
      • 6.1 如何实现不同环境配置
      • 6.2 以.properties形式,采用多配置文件实现
    • 7. 最佳实战总结

一、SpringBoot 配置管理

1. 配置管理3种方式

支持的配置格式

1.1. 以.properties为后缀名

#springboot全局配置文件
management.endpoint.health.show-details=always
#激活所有的actuator端点
#management.endpoints.web.exposure.include=*
#激活指定端点
management.endpoints.web.exposure.include=metrics,health
#info 显示应用信息
#格式:info.x=y key values 形式
info.app.name=spring-boot-demo
info.author=actuator
info.email=gblfy@email.com

1.2. 以.yml/.yaml为后缀名(建议使用)

#Yet Anther Markup Language(.yml/.yaml)==>>JSON子集
#激活指定端点
management:endpoint:health:show-details: alwaysendpoints:web:exposure:include: metrics,health
#info 显示应用信息
#格式:info.x=y key values 形式
info:app-name: spring-boot-demoauthor: actuatoremail: gblfy@email.com

2. Spring Boot配置管理17种姿势

配置管理常用方式

2.1. 配置文件

2.2. 环境变量




2.3. 启动项目访问:

http://localhost:8080/actuator/health

3. 启动项目第2种形式:

构建跳过单元测试

mvn clean install -DskipTests

启动项目带参数

java -jar spring-boot-actuator-0.0.1-SNAPSHOT.jar --SOME_ENV=always

4. 外部配置文件_优先级

  1. 新建一个test文件夹做演示
  2. 把构建后的jar包和appilication.yml文件复制到test目录中
  3. 将${SOME_ENV}参数修改为nerver
  4. 启动项目,验证
 java -jar spring-boot-actuator-0.0.1-SNAPSHOT.jar


5. 发现/actuator/health端点不显示详情了
说明SpringBoot可以读取jar相同目录下的配置文件,并且这个配置文件比jar里面配置文件的优先级更高

5. 命令行参数

5.1. idea中配置

比如想改变tomcat启动时端口号,又不想写到配置文件中?


验证

http://localhost:8082/actuator/health

5.2. 命令行配置启动

java -jar spring-boot-actuator-0.0.1-SNAPSHOT.jar --server.port=8082


6. 必知必会 Profile

6.1 如何实现不同环境配置

  • .yml配置文件采用3段形式
公共配置
---
开发环境配置
---
生产环境配置
---

默认激活环境配置添加设置如下:

spring:profiles:active: dev
  • 举个栗子
#所有环境公用的配置属性
#Yet Anther Markup Language(.yml/.yaml)==>>JSON子集
#激活指定端点
management:endpoint:health:show-details: ${SOME_ENV}endpoints:web:exposure:include: "*"
#info 显示应用信息
#格式:info.x=y key values 形式
info:app-name: spring-boot-demoauthor: actuatoremail: gblfy@email.com
spring:profiles:active: dev
---
#profile=y的专用属性,也就是某个环境下的专用属性
#开发环境
spring:profiles: dev
server:tomcat:max-threads: 500max-connections: 800
---
#profile=y的专用属性,也就是某个环境下的专用属性
#生产环境
spring:profiles: prod
server:tomcat:max-threads: 300max-connections: 1000


调用端点查看配置是是否生效:
http://localhost:8080/actuator/configprops

6.2 以.properties形式,采用多配置文件实现

  • 一个环境一个配置文件,如下图所示:
  • 有一个公共的配置文件
  • 一个开发环境的配置文件
  • 一个生产环境的配置文件
    默认激活环境设置如下:
#spring.profiles.active=环境
spring.profiles.active=prod


application.properties

#springboot全局配置文件
#actuator监控
management.endpoint.health.show-details=always
#激活所有的actuator端点
management.endpoints.web.exposure.include=*#info 显示应用信息
#格式:info.x=y key values 形式
info.app-name=springboot-actuator
info.author=gblfy
info.email=gblfy@email.com#spring.profiles.active=环境
spring.profiles.active=prod

application-dev.properties

server.tomcat.max-threads=300
server.tomcat.max-connections=800

application-prod.properties

server.tomcat.max-threads=500
server.tomcat.max-connections=1000


查看配置端点:
http://localhost:8080/actuator/configprops

7. 最佳实战总结

把公共的配置抽取出来,放在共有的配置文件中,把各个环境独有的配置信息,写到独有的配置文件中

Gitlab下载地址:https://gitlab.com/gb-heima/empowerment
zip包下载:
https://gitlab.com/gb-heima/empowerment/-/archive/master/empowerment-master.zip

下一篇:
SpringBoot入门到精通_第7篇 _必知必会总结
https://blog.csdn.net/weixin_40816738/article/details/98472265

SpringBoot入门到精通_第6篇 _必知必会相关推荐

  1. SpringBoot入门到精通_第5篇 _SpringBoot Actuator监控

    接上一篇:SpringBoot入门到精通_第4篇 _开发三板斧 https://blog.csdn.net/weixin_40816738/article/details/101097161 文章目录 ...

  2. SpringBoot入门到精通_第4篇 _开发三板斧

    接上一篇:SpringBoot入门到精通_第3篇 _应用组件分析 https://blog.csdn.net/weixin_40816738/article/details/101096218 文章目 ...

  3. SpringBoot入门到精通_第3篇 _应用组件分析

    接上一篇:SpringBoot入门到精通_第2篇 _1分钟实战需求项目 https://blog.csdn.net/weixin_40816738/article/details/101095964 ...

  4. SpringBoot入门到精通_第2篇 _1分钟实战需求项目

    接上一篇:SpringBoot入门到精通_第1篇 _核心概念 https://blog.csdn.net/weixin_40816738/article/details/94916051 文章目录 一 ...

  5. SpringBoot入门到精通_第7篇 _必知必会总结

    接上一篇:SpringBoot入门到精通_第6篇 _必知必会

  6. SpringBoot入门到精通_第1篇 _核心概念

    SpringBoot 必知必会 核心精粹 文章目录 一.SpringBoot必知必会 1. 是什么?能做什么? 2. 有哪些特性? 一.SpringBoot必知必会 1. 是什么?能做什么? 是什么? ...

  7. MyBatis-Plus 从入门到精通,这一篇就够了【推荐收藏】

    MyBatis-Plus 从入门到精通,这一篇就够了[推荐收藏] mybatis-plus是一款Mybatis增强工具,用于简化开发,提高效率.下文使用缩写mp来简化表示mybatis-plus,本文 ...

  8. SpringBoot入门到精通-SpringBoot启动流程(七)

    定义自己的starter SpringBoot入门到精通-Spring的注解编程(一) SpringBoot入门到精通-SpringBoot入门(二) SpringBoot入门到精通-Spring的基 ...

  9. MySQL数据库,从入门到精通:第七篇——MySQL单行函数应用

    MySQL数据库,从入门到精通:第七篇--MySQL单行函数应用 第七篇_单行函数 1. 函数的理解 1.1 什么是函数 1.2 不同DBMS函数的差异 2. 数值函数 2.1 基本函数 2.3 三角 ...

最新文章

  1. Python高级函数
  2. 通用即插即用(UPnP)
  3. 流媒体的未来——视频技术如何演变
  4. Tab标签页接口---使用Intent对象
  5. C++面试/技巧(四)
  6. 达梦工作笔记-达梦客户端,执行命令后要保存退出,才生效
  7. 递归——幂次方(洛谷 P1010)
  8. ionic 去掉启动页的加载动画 菊花转
  9. 使用Python来处理文件
  10. font-family:中文字体的英文名称 (宋体 微软雅黑)
  11. 苹果手机投影到墙上_针对商业用户倾情打造,明基E582智能无线投影仪体验
  12. signature=f81ed620b6d6e6cb4bbe5a4d79d445b8,Lubricating compositions
  13. 微信小程序 table表格 PC版本
  14. 2013 NMPD展示预览,第1部分
  15. 自然语言处理hanlp------8AC自动机
  16. vite+ts+vue3 知识点(定义全局函数和变量)
  17. 【Vue】Vue生成二维码 Vue把url地址生成二维码手机打开 扫一扫手机端打开实战案例 vue生成二维码
  18. 使用GHOST镜像文件在VMWARE WROKSTATION上安装系统(图)
  19. 阿里云部署K8s及一些排错体会
  20. 以地图视角回顾70年互联网发展

热门文章

  1. ubuntu给pip换源,给conda换源
  2. java lambda max_在Java中使用Lambda表达式查找Max
  3. 仿58 php框架源码,转转最新源码
  4. java编译机制_java的编译机制
  5. 多次访问redis造成redis连接总是断开的解决方案
  6. html之figure元素和figcaption元素为图片声明标题
  7. Hbase二级索引 Solr 异常 The most likely cause is another Solr server (or another solr core in this server)
  8. 大流量场景下如何云淡风轻地进行线上发布?
  9. 笑联 x mPaaS | 12 个模块,全面小程序化,如何打造真正的一次开发复用多端?
  10. 为什么说流处理即未来?