springboot第二讲

本文深入解析SpringBoot中配置文件的应用,包括@configurationproperties与@Value的区别,@propertysource与@importresource的功能,配置文件占位符的使用,多环境配置的实现,以及SpringBoot如何加载配置文件等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SpringBoot配置第二讲

一. @configurationpropertites与@Value()的区别
在这里插入图片描述
二. @propertysource与@importresource的区别
@propertysource是查找指定文件。也可以查找多个文件。
@importresource的作用是由于SpringBoot没有Spring的配置文件,即使是我们自己写的配置文件也是不能识别的。想要让Spring的配置文件加载进来,用这个注解一个配置类。
但是我们应该使用SpringBoot的推荐方式也就是注解方式,创建一个配置类。替代之前的配置文件
在这里插入图片描述
配合上面两个注解使用,先注册bean在写配置类。
三. 配置文件占位符
在这里插入图片描述
1. 获取随机数
2. 获取默认值
四. Profile
多profile用来多环境下的多个配置文件进行选择时,比如(设置多个端口,看一下,程序怎么选择)
这是多个配置文件的端口设置,运行后,配置默认为application.properties文件中的内容,但是可以默认的进行设置在application.properties文件里加入
Spring.profiles.active=dev 那么这样默认启动的就是application-dev.properties文件
五. yml文档块语法解决多环境配置文件选择
在这里插入图片描述
用—代表一个文档块的语法,上面是总的配置,对下面进行选择,不配置active的话默认的是8082.
六. 命令行执行多环境配置文件
1. 在编译器上 第一步
在这里插入图片描述
第二步骤
找到program argument 输入–spring.profiles.active=dev
2. 打jar包,自己打,打完以后在你项目的target的文件夹下,找到复制路径后打开命令行,进 去target目录下,输入 java -jar jar名字 --spring.profiles.active=dev
那么启动的就是dev模式。
3. 虚拟机模式启动
与步骤一同,就是在步骤二找的不再是program argument而是 VM options,加入固定写法 -Dspring.profiles.active=dev
七. SpringBoot文件加载位置
springboot启动时候回默认扫描, application.properties application.yml作为Springboot的默认配置文件,除此之外,还可以放到这四个也是系统会加载的地方
在这里插入图片描述
file:是当前路径 classpath: 类路径,并且优先级是丛上到下依次递减,如果两个文件夹下 有相同的配置,优先级高的会覆盖掉优先级低的。
在这里插入图片描述
按照优先级执行的端口应该是 8084
在这里插入图片描述
结论正确。其中springboot的项目无论怎么样这四个目录下的文件都会去加载,不是优先级高的加载后就不在加载,这样的好处是有一种互补配置,讲一下互补配制在。

在低优先级加一句配置。配置项项目名。
在这里插入图片描述
server.context-path=/boot04
在这里插入图片描述
Controller
在这里插入图片描述
这就是互补配置。

还有一种方式修改配置是先打jar包 ,jar打好以后进去target下的路径java -jar jar包名字 --spring.config.location=加上磁盘位置,前提是把你的写好的配置文件 保存到磁盘的位置。

八. 外部配置的加载顺序。
1. 命令行参数
2. 来自java:comp/env的JDNI属性
3. 来自java系统属性(System.getProperties())
4. 操作系统环境变量
5. RandomValuePropertySource配置Random.*的属性值。
再加上
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值