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是单个获取的

扫描二维码关注公众号,回复: 9194648 查看本文章

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

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

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

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

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

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

发布了19 篇原创文章 · 获赞 0 · 访问量 1979

猜你喜欢

转载自blog.csdn.net/jiankangzhu/article/details/104246708