Springboot允许使用properties文件、yaml文件或者命令行参数作为外部配置
(一)常规属性配置(基于properties、yaml文件)
请求http://localhost:8090/yml-value-test,返回结果如下:
(二)命令行参数配置
当Springboot是基于jar包运行时,可以使用命令行来修改yaml或者properties里面的配置文件
一般按上面的逻辑,请求http://localhost:8090/yml-value-test。返回结果应该是vincent。
不过我们可以通过这样的命令来修改配置的内容
再次请求,返回结果如下:
这种方式特别适用于那种小项目,在各种不同环境下需要修改配置内容的情况。
(三)类型安全的配置(基于properties)
使用@Value注入每个配置在实际项目中会显得格外麻烦,所以,springboot还提供了基于类型安全的配置方式,通过@ConfigurationProperties将properties或者yaml文件中的配置和一个Bean及其属性关联,从而实现类型安全的配置
yaml文件代码:
people: name: vincent age: 10
PeopleVo类代码:
//@Component在这很重要,不把PeopleVo放入spring管理的生命周期内是无法实现类型安全配置的 @Component @Data @ConfigurationProperties(prefix = "people") public class PeopleVo { private String name; private Integer age; }
controller中测试
@Autowired PeopleVo peopleVo; @RequestMapping("/properties-test") public String propertiesTest() { return peopleVo.toString(); }
返回结果:
原文地址:https://www.cnblogs.com/vincentren/p/10713587.html
时间: 2024-10-05 02:17:24