SpringBoot入门到精通_第6篇 _必知必会

接上一篇: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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/523285.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

“刺激的”2017双11 阿里安全工程师首度揭秘智能风控平台MTEE3

摘要: “太刺激了,太刺激了!如果那个48%真出问题,整个安全部的双11就可能是3.25!” “太刺激了,太刺激了!如果那个48%真出问题,整个安全部的双11就可能是3.25!”知命推了…

你相信逛B站也能学编程吗?

戳蓝字“CSDN云计算”关注我们哦!作者 | 徐麟来源 | 数据森麟作者:徐麟,某互联网公司数据分析狮,个人公众号数据森麟(id:shujusenlin)前言很多人提到B站,首先想到的就会是二次元或者…

创建小程序

注册账号:https://mp.weixin.qq.com/

spring boot集成mybatis和springsecurity实现权限控制功能

上一篇已经实现了登录认证功能,这一篇继续实现权限控制功能,文中代码只贴出来和上一篇不一样的修改的地方,完整代码可结合上一篇一起整理spring boot集成mybatis和springsecurity实现登录认证功能-CSDN博客 数据库建表 权限控制的意思就是根…

基于云上分布式NoSQL的海量气象数据存储和查询方案

摘要: 气象数据是一类典型的大数据,具有数据量大、时效性高、数据种类丰富等特点,每天产生的数据量常在几十TB到上百TB的规模,且在爆发性增长。如何存储和高效的查询这些气象数据越来越成为一个难题,本文针对气象领域中…

现代IM系统中消息推送和存储架构的实现

摘要: 前言 IM全称是『Instant Messaging』,中文名是即时通讯。在这个高度信息化的移动互联网时代,生活中IM类产品已经成为必备品,比较有名的如钉钉、微信、QQ等以IM为核心功能的产品。当然目前微信已经成长为一个生态型产品&…

漫画:为什么程序员没有女友?

戳蓝字“CSDN云计算”关注我们哦!作者 | 程序员小灰————— 五分钟后 —————ERNIE是百度开源深度学习平台飞桨(PaddlePaddle)推出的知识增强语义表示模型,通过海量数据建模词、实体及实体关系。相较于 BERT 学习原始语言信…

基于TableStore的数据采集分析系统介绍

摘要: 摘要 在互联网高度发达的今天,ipad、手机等智能终端设备随处可见,运行在其中的APP、网站也非常多,如何采集终端数据进行分析,提升软件的品质非常重要,例如PV/UV统计、用户行为数据统计与分析等。虽然…

idea 暂存文件或idea切换分支代码不见了

idea切换分支时,修改过的代码文件全部不见了 找了一下问题,切换分支时,idea自动会创建暂存文件, 点开,右边View --> 即可显示暂存文件。 点击Apply Stash 即可将暂存文件应用到当前分支。 如果发现此方法还是不行…

微服务架构之「 访问安全 」

戳蓝字“CSDN云计算”关注我们哦!作者 | 奎哥来源 | 不止思考应用程序的访问安全又是我们每一个研发团队都必须关注的重点问题。尤其是在我们采用了微服务架构之后,项目的复杂度提升了N个级别,相应的,微服务的安全工作也就更难更复…

百亿级全网舆情分析系统存储设计

摘要: 前言 在时下互联网信息的浪潮下,信息的传播速度远超我们的想象。微博里一条大V的帖子,朋友圈的一个状态更新,热门论坛的一条新闻,购物平台的购物评价,可能会产生数以万计的转发,关注&…

面试官:你简历中写用过docker,能说说容器和镜像的区别吗?

戳蓝字“CSDN云计算”关注我们哦!作者 | bethal来源 | http://sina.lt/gfmf这篇文章希望能够帮助读者深入理解Docker的命令,还有容器(container)和镜像(image)之间的区别,并深入探讨容器和运行中…

IPv6终于要取代IPv4了!阿里云将全面提供IPv6服务

摘要: 近日,中办国办印发《推进互联网协议第六版(IPv6)规模部署行动计划》,加快推进基于IPv6的下一代互联网规模部署,计划指出到2018年末国内IPv6活跃用户数要达到2亿,2020年末达到5亿&#xff…

SDN精华问答 | 为什么会出现SDN?

SDN火热了好一阵子,无论运营商、政府企业、投资机构,一段时间,不知道SDN、不能甩几个SDN相关的名词术语,似乎都落后于时代了。今天,就来看看关于SDN的精华问答吧。1Q:SDN的本质属性? A&#xff…

一张图看懂2017双11中的网络产品和技术

摘要: 大家都知道,2017年双11又创造了新纪录,全天交易额1682亿,交易峰值32.5万笔/秒,支付峰值25.6W笔/秒,狂欢的背后是极其复杂庞大的技术系统,其中就有大量阿里云云计算相关的产品和技术&#…

开源Elasticsearch云托管服务,专享企业级服务

摘要: 日前,阿里云联合开源官方Elastic联合发布了Elasticsearch新产品。该产品基于开源Elasticsearch及商业版X-Pack插件的云托管服务,保证高性能、高可用,可弹性扩容,并提供企业级权限管控、安全监控告警等高级功能,适…

Ivanti罗琦:IT服务管理中“拧紧螺丝”要有门道儿!

戳蓝字“CSDN云计算”关注我们哦!作者 | 刘晶晶Ivanti与科大讯飞的携手合作!初听这一消息,阿晶惊讶不已。毕竟科大讯飞擅长语音众所周知,Ivanti更专攻IT服务管理,看似“不相关”的两家企业,却有了某种隐含的…

CDN价格下调25% 阿里云再次冲击国内最低价

摘要: 在刚刚圆满落幕的云栖大会广东分会上,阿里云发布了很多重磅信息,其中不乏很多核心产品折扣幅度调整的信息。令人惊喜的是,阿里云CDN价格再次下调,降幅高达25%。降价完成后,带宽单价最低只需0.54元/Mb…

SpringBoot整合Spring Cloud Alibaba

spring-cloud官方中文文档https://www.springcloud.cc/spring-cloud-dalston.htmlspring-cloud官方文档https://cloud.spring.io/spring-cloud-static/Greenwich.SR1/single/spring-cloud.html#_quick_start_6Spring Cloud Alibaba官方文档https://github.com/alibaba/spring-c…

产品经理教你玩转阿里云负载均衡SLB系列(一):快速入门--什么是负载均衡

摘要: 负载均衡是一种技术,从字面意义上理解,就是让负载(变得)均衡,负载是什么呢?可以理解为工作量、工作强度。用日常生活中的例子来打比方,一群建筑工人,盖一幢楼房,有搬砖的&…