当前位置: 首页 > news >正文

SpringBoot—配置文件分类 文件基本(数据)格式 获取数据 profile 内部(外部)配置顺序

(一)配置文件分类:

springBoot提供了两种配置文件的方式,一种是properties,一种是yaml。
两种文件的配置格式并不相同:
1.properties:
在这里插入图片描述

2.yaml/yml:
在这里插入图片描述
但它们的文件名都是一致的,不可更改的,那就是applcation
注意,项目本身在识别配置文件的时候会有一个优先级的问题,当三个配置文件中配置了同一个属性的时候,系统会默认以properties—>yml—>yaml的顺序开始识别,低优先级的属性不会被识别。

(二)yml文件基本格式:

在这里插入图片描述
yml文件看起来更为简洁。
yml文件基本语法:

在这里插入图片描述
这种其实不是重点,因为IDEA已经自动帮助我们实现了缩进

(三)数据格式:

在这里插入图片描述
参数引用:
在这里插入图片描述

(四)获取数据

(1)@Value

这个方法使用的就是${}占位符,加载yaml文件里面的”name“对应的值并注入到本类的name这个变量中,只需注意 ${}里面的变量名和yaml文件里面的变量名一致即可
在这里插入图片描述

(2)Enviroment

它是“配置值”的管家,掌握着一切配置信息
使用实例如下:
在这里插入图片描述
在这里插入图片描述

(3)@ConfigurationProperties

这个注解用来将配置文件中的属性值注入到对象中的属性中,常写在类前面
使用示例:
在Person类中:
在这里插入图片描述
在yaml配置文件中:
name这个属性值有其归属,叫person,因此在@ConfigurationProperties()的括号中给prefix标签进行赋值,赋的值就是person
在这里插入图片描述

(五)profile:

概念:是用来动态配置切换的
配置方式
(1)多profile文件配置

在这里插入图片描述
这些文件的配置格式统一都是application-xxx.properties。
然后在application.properties文件中调用:
在这里插入图片描述
在等号后方写上要调用的配置文件的后缀,就可以调用那个文件了
(2)yaml文件配置,在单一yml文件中采用三个短杠的格式划分区域,各个区域对应一个文件
在这里插入图片描述
在这里插入图片描述
然后在最下方的区域调用active激活方法。就可以调用了
(3)激活方法:
1.
在这里插入图片描述
刚才在上方已经配置和使用过
2.
在这里插入图片描述
在这里插入图片描述
3.命令行参数:
在这里插入图片描述
打包这个SpringBoot项目,然后去到拥有这个jar包的目录下,运行cmd命令行,输入上述的这段指令,即可
在这里插入图片描述
在这里插入图片描述

(六)内部(外部)配置顺序

(1)内部:
下方图中的顺序也就是优先级
在这里插入图片描述
我们日常在Resource包下写的各种配置文件最终都是会被放到classPath路径下的。
而有些在整个项目下的配置文件就放在file路径下,它们是最优先被加载的,并且对于同一属性,高优先级会覆盖低优先级

(2)外部:
我们在project files目录下创建了一些配置文件,如果我们不通过引导类开启项目而是通过命令行开启,实际上是不会调用这些配置文件的,因为project files下的文件不符合maven的项目格式,所以不会被打包,因此,我们可以这样做,先把文件打包,然后直接系统中打好包的targets目录下,把你的配置文件直接bia到那个目录下,或者在targets下新建一个更优先的config目录,把配置文件放里面去,这样就可以调用到了
说白了,外部配置就是在自己做完整个项目后,发现还有一些还要修改的属性,就使用外部配置微调一下就行。

http://www.dtcms.com/a/533456.html

相关文章:

  • 大做网站免费人脉推广
  • 手机模板的网站深圳营销网站
  • 第十一章:跃迁篇 - 集成 MCP,连接能力宇宙
  • 建设制作网站wordpress数据表格
  • 建立网站多少钱一年phpmyadmin做网站
  • html5网站布局教程网站建设座谈会上的发言
  • 【补题】 Codeforces Round 1039 (Div. 2) D. Sum of LDS
  • 自建站怎么接入支付个人买卖网站如何做
  • Linux小课堂: systemd核心功能详解
  • 专做网站wordpress 图像滑块插件
  • 郑州知名做网站中国市场网
  • 【技术深度】腾讯 IM 接入规范文档(基于区块链交易所 APP)
  • 什么是区块链?有哪些场景需要用到?
  • 该如何选择深圳网站建设公司菏泽网站建设公司
  • 基于AI Agent的数据资产自动化治理实验
  • Rust 并发编程进阶:线程模型、通道通信与异步任务对比分析
  • 南京一站式工程装饰装修网站做网站建设的名声很差吗
  • 三型布局的网站兴义网站网站建设
  • LangChain最详细教程之Model I/O(三)Output Parsers
  • 网站制作 万网营销型网站建设设计服务
  • 做网站前端用什么语言网站建设是什么专业
  • Photoshop - Photoshop 工具栏(17)铅笔工具
  • sem竞价托管多少钱搜索引擎优化的内容有哪些
  • 合肥营销网站建设价格网站策划的工作要求
  • Diffusion Planner(1): 论文解读
  • 怎样做pdf电子书下载网站网站建设合同贴花算哪一类
  • 交互设计精髓斜杠青年seo工作室
  • 网站添加字体c 网站开发 调试
  • JAVA面试汇总(五)数据库(三)
  • 企业网站设计教程宝安logo设计