目录
3.3.使用@ConfigurationProperties
1.配置文件分类
springboot的配置文件有三种——properties、yml、yaml,他们的优先级也是按这个顺序从高到低,也就是在更高级的配置文件里配置后,在低级的配置文件中做出响应配置的修改是无法生效的,他们的名字默认都是application,当在resource文件夹创建application为名的properties/yml/yaml文件时,会被项目自动识别为配置文件,而其他名字不会被识别,我们可以在任意一个配置文件中修改项目默认配置或者自定义属性:
在properties文件中:
#修改服务端口
server.port=8081
#自定义
name=dzy
举了端口的例子,默认的是8080端口,这里可以改为8081端口,然后自定义了一个属性是name=dzy,在yml和yaml中也可以做这些配置,只不过格式不同,下面会讲到。
yml和yaml是同种文件都称为YAML文件。
2.YAML文件及其语法和格式
各配置文件写法:
3.读取配置文件的内容
3.1.@Value方式
使用这个注解可以看到值一旦多起来就会比较麻烦
3.2.Environment方式
使用这种方式是通过创建一个environment对象:
要注意的是有多个environment的方法和接口,注意不要导错包,正确的如上图,
然后直接注入后就可以拿来用了:
这个env就能拿来使用配置文件里的属性,使用方法如下
使用这个对象的getProperty方法即可。
3.3.使用@ConfigurationProperties
这种方式就类似于之前spring的依赖注入,而这里是给我们某一个对象类注入类初始值,比如创建一个person类如下:
上文中已经在yml中添加了一个person的对象,这里使那个对象的各个值注入到person中的方法就是通过这个标签,不过需要在后面加上prefix,表示前缀,防止其他和person里属性重名的属性被注入。
配置好后像这样创建对象
然后调用tostring就可以看到person已经由spring创建并且有了初始值。
4.profile
简单介绍:
这一个知识点有很多方法,也非常的杂,可以看这个视频,黑马程序员SpringBoot教程,6小时快速入门Java微服务架构Spring Boot_哔哩哔哩_bilibili
其中简单的讲了怎么在不同开发阶段修改使用的配置文件,然后在发布时的修改配置以及jar包运行应用。
5.内部配置文件的加载顺序
往往一个项目会有多个模块,file指的是当前模块,classpath指的是整个项目包。
6.外部配置的加载顺序
命令行方式向jar包里添加配置是比较常用易懂的方式,但是命令行的方式当需要指定大量配置时是很繁琐的,因此有着外部配置文件的方式,也就是在命令行中指定外部的properties文件或者在特定位置放入外部配置文件,详情看这个视频