Spring boot 读取配置文件(application.yml)中的属性值
2020-04-26 18:58
1061 查看
1、引入依赖
<!-- 支持 @ConfigurationProperties 注解 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency>
2、配置文件(application.yml)中配置各个属性的值:
#自定义配置文件信息
demo: lastName: 泡沫之夏 age: 24 boss: false birth: 1996/04/03 maps: {k1:v1,k2:v2,k3:v3} lists: - 山西 - 大同 - 太原 dog: dogName: 二狗子 age: 2
3、创建一个bean来接收配置信息:
/** * 自定义配置文件对象信息 * @ConfigurationProperties :根据配置文件中设置的属性,批量注入属性的值 */ @Component @ConfigurationProperties(prefix = "demo") public class DemoProperties { private String lastName; private Integer age; private Boolean boss; private Date birth; private Map<String,Object> maps; private List<Object> lists; private Dog dog; public String getLastName() { return lastName; } public void setLastName(String lastName) { this.lastName = lastName; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Boolean getBoss() { return boss; } public void setBoss(Boolean boss) { this.boss = boss; } public Date getBirth() { return birth; } public void setBirth(Date birth) { this.birth = birth; } public Map<String, Object> getMaps() { return maps; } public void setMaps(Map<String, Object> maps) { this.maps = maps; } public List<Object> getLists() { return lists; } public void setLists(List<Object> lists) { this.lists = lists; } public Dog getDog() { return dog; } public void setDog(Dog dog) { this.dog = dog; } public DemoProperties() { } public DemoProperties(String lastName, Integer age, Boolean boss, Date birth, Map<String, Object> maps, List<Object> lists, Dog dog) { this.lastName = lastName; this.age = age; this.boss = boss; this.birth = birth; this.maps = maps; this.lists = lists; this.dog = dog; } @Override public String toString() { return "DemoProperties{" + "lastName='" + lastName + '\'' + ", age=" + age + ", boss=" + boss + ", birth=" + birth + ", maps=" + maps + ", lists=" + lists + ", dog=" + dog + '}'; } }
启动后,这个bean里面的属性就会自动接收配置的值了。
4、单元测试用例:
@SpringBootTest class DemoApplicationTests { private static final Logger logger = LoggerFactory.getLogger(DemoApplicationTests.class); @Autowired DemoProperties demoProperties; /* * * * Spring boot 读取自定义配置文件(application.yml)中的属性值测试类 * */ @Test void contextLoads() { logger.info(demoProperties.getLastName()); logger.info(demoProperties.getBoss().toString()); logger.info(demoProperties.getLists().toString()); logger.info(demoProperties.getMaps().toString()); logger.info(demoProperties.getAge().toString()); logger.info(demoProperties.getBirth().toString()); logger.info(demoProperties.getDog().getDogName()); logger.info(demoProperties.getDog().getAge().toString()); } }
测试结果:
lastName: 泡沫之夏 age: 24 boss: false birth: 1996/04/03 maps: {k1:v1,k2:v2,k3:v3} lists:{山西,运城,太原} dogName: 二狗子 age: 2
注:结果出现中文乱码的问题是由于代码字体格式
- 点赞
- 收藏
- 分享
- 文章举报
相关文章推荐
- spring boot 读取配置文件(application.yml)中的属性值
- springboot如何读取配置文件(application.yml)中的属性值
- spring boot 读取配置文件(application.yml)中的属性值
- spring boot 单元测试与读取配置文件(application.yml)中的属性值
- spring boot 读取配置文件(application.yml)中的属性值
- Spring Boot系列 - 4. 读取配置文件(application.yml)中的属性值
- Spring boot 读取配置文件(application.yml)中的属性值
- spring boot 读取配置文件(application.yml)中的属性值
- spring boot 读取配置文件(application.yml)中的属性值
- spring boot 读取配置文件(application.yml)中的属性值
- 关于Springboot 读取不到application.yml配置文件的解决方法
- springboot项目logback.xml或者logback-spring.xml中读取不到application.yml或application.properties配置文件中的配置解决办法
- spring boot 配置文件(application.yml)中的属性值配置
- SpringBoot内部配置:“application.properties配置”和”使用XML配置”,读取属性文件中的内容,日志配置,Profile配置(学习:SpringBoot实战)
- spring boot 读取配置文件(application.yml)中的属性值
- SpringBoot多环境配置yml文件以及引用外部配置文件的两种方式,并且读取yml配置内容
- Springboot配置标签和application-{profile}.yml文件编写配置注意事项
- SpringBoot配置文件application.yml (application.properties)
- Spring-boot中读取核心配置文件application和自定义properties配置文件的方式
- spring-boot读取props和yml配置文件