SpringBoot的配置文件有yml和properties两种;在 SpringBoot 中我们通常使用( application.yml )来配置全局文件。
但是我这里都举例对比一下,如何获取yml和properties两种配置文件中的值,
通常,一些常量,都会配置到配置文件中,日后也好方便维护。
application.yml 配置
#常量枚举在配置文件
ly:
upload:
baseUrl: http://image.leyou.com/
allowTypes: #定义一个list
- image/jpeg
- image/png
- image/bmp
application.properties 配置
ly.upload.base-url=http://image.leyou.com/
ly.upload.allow-types=image/jpeg,image/png,image/bmp
注意:如何在 yml 和 properties 中枚举list集合
以下针对两种配置方式读取数据,都适用!
ConfigEntity.java
//配置绑定,bean注入
@Data
@ConfigurationProperties(prefix = "ly.upload") //指定ly.upload开头的变量
public class UploadProperties {
private String baseUrl;
private List<String>allowTypes; //注意该allowTypes是个list
}
注意,如果本项目中没有引入lombok,即手动加上get set 有参无参构造方法!
快捷键操作:鼠标单击右键,选择Generate,然后选择Getter and Setter 将属性全部选中一键生成!
如果想图省事注解实现get set等方法,可看这篇:idea如何安装lombok?
testController.java
@RestController
@EnableConfigurationProperties(ConfigEntity.class) //记得注入
public class Testcontroller {
@Autowired
private ConfigEntity configEntity;
@PostMapping("test")
public Map<String,Object> test(){
Map<String, Object> map = new HashMap<>();
map.put("url",configEntity.getBaseUrl());
map.put("allowType",configEntity.getAllowTypes());
return map;
}
}
结果显而易见,url拿到是个string串,而allowType也成功拿到了list 数据!
如果两种配置文件都存在,经测试发现,按文件先后顺序读取配置!先读取application.properties 再读 application.yml 文件
❤如果文章对您有所帮助,就在文章的右上角或者文章的末尾点个赞吧!(づ ̄ 3 ̄)づ
❤如果喜欢大白兔分享的文章,就给大白兔点个关注吧!(๑′ᴗ‵๑)づ╭❤~
❤对文章有任何问题欢迎小伙伴们下方留言或者入群探讨【群号:708072830】
❤鉴于个人经验有限,所有观点及技术研点,如有异议,请直接回复讨论(请勿发表攻击言论)