SpringBoot学习(2)配置文件
一:SpringBoot配置文件说明
1、SpringBoot默认支持3种配置文件,properties文件,yml文件,yaml文件,配置文件取值的优先顺序是properties>yml>yaml,配置文件遵循互补覆盖配置原则:即如果各种配置文件有配置相同属性时,会取优先级高的配置文件配置的属性,如果各种配置文件配置不同属性,则这些不同属性都会生效。举个例子:如果properties配置文件配置了属性:server.port=80,yml配置文件配置了server.port: 81和name: zhangsan,那么实际取到的属性是server.port=80和name=zhangsan
2、yml文件格式说明:
(1)大小写敏感
(2)使用缩进表示层级关系,同层级左侧对其,只允许使用空格(不允许使用tab键)
(3)属性名与属性值之间有个空格
(4)#表示注释
二:SpringBoot配置文件取值
1、读取yml单属性取值,可以使用@Value(${属性名})进行读取
(1)在yml文件配置一些单属性值:
(2)、在controller中读取country属性:
(3)、运行主程序类,访问hello请求,成功获取到country属性值:
2、读取yml层级属性,可以使用@Value(${层级属性名})进行读取。
(1)在yml配置层级属性userdao:
(2)在controller中读取userdao下的name属性:
(3)、重新运行主程序类,发起hello请求:
3、读取数组类属性数据,使用${属性名[数组索引]}
(1)在yml配置数组属性:
(2)读取book下的book2值:
(3)、运行主程序类,发起hello请求
4、读取数组类组装对象的属性,使用@Value(${属性名[索引值].属性名})获取
(1)、在yml配置数组组装对象的属性:
(2)在controller读取第一个对象的classname:
(3)、运行主程序。
5、在配置文件里引用已经定义过的属性:
6、一次读取yml全部属性,使用Environment类:
(1)、定义Environment变量,使用@AutoWired注解标注自动装配,然后使用enviroment.getProperty()方法获取属性:
(2)、运行主程序:
7、一次性读取整个引用对象类型(重点!重点!重点!)
(1)、创建一个引用数据类型属性:
(2)、创建数据对应的实体类,在类上方添加@Compoment注解用于交给Spring创建对象,再添加@Data注解生成getter,setter,toString方法,再添加@ConfigurationProperties(prefix="属性名")指定加载哪个属性域
注意:使用@Data要引入lombok依赖:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.8</version>
</dependency>
3、在controller中自动注入该类类型:
4、运行主程序,发起hello请求,然后查看控制台输出:
成功获取到了DataSource的数据值。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了