SpringBoot项目从配置文件中获取值的方式

虽然Spring-boot项目一开始就自动配置了许多参数,如服务器的端口等,如果我们要修改这些参数的话,就要在配置文件中添加这些参数,然后从项目中获取这些参数的值了,下面就是怎么从配置文件中获取值的操作了。

SpringBoot的全局配置文件名是固定的,有二个

    application.properties application.yml

这两个文件的作用是修改SpringBoot自动配置的默认值,

application.yml是我手动加的,快速创建项目的时候没有这个文件

加入要修改服务器的端口,可以这么添加

如果配置文件中有这些参数

person.last-name=张三
person.age=20
person.birth=2017/12/15
person.boss=false
person.maps.k1=v1
person.maps.k2=14
person.lists=a,b,c
person.dog.name=dog
person.dog.age=15

那么如何从项目配置文件中获取这些参数呢?

有两种方式,@CofigurationProperties是批量获取的,@Value是单个获取的

@Value获取值和@ConfigurationProperties获取值比较

@ConfigurationProperties @Value 功能 批量注入配置文件中的属性 一个个指定 松散绑定(松散语法) 支持 不支持 SpEL 不支持 支持 JSR303数据校验 支持 不支持 复杂类型封装 支持 不支持

如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项值,使用@Value;

如果说,我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@Configurationproperties

除了全局配置文件外,我们还可以自己增加配置文件,然后使用命令行的方式即通过spring.config.location来改变默认的配置文件位置

java -jar xxx.jar --spring.config.location=G:/application.properties(这里是我们增加配置文件的位置)

经验分享 程序员 微信小程序 职场和发展