springboot使用注解获取yml配置的两种方法
通常情况下,我们的springboot读取yml配置,只能读取application.yml里面的数据,但是Bootstrap.yml里面的数据不能读取(要读取可以用其他办法)。
application.yml里面的配置不能被nacos读取和修改,但是Bootstrap.yml里面的数据可以。
获取办法 第一种
java代码:
@Value("${a.b.c}") private int num;
yml配置文件:
a: b: num: 123
获取办法 第二种
这种方法,我们部门领导推荐我这样使用。
java代码:
@Data @Component @ConfigurationProperties(prefix = "a.b") public class ReturnTasksyncUrlConfig { private Map<String, String> data; }
yml配置文件:
a: b: data: num1: 123 num2: 466
这样子把数据读到了Map类型的data里面了,data的size的大小为2。
但是拿取这些数据的时候要用**@Autowired**来注入ReturnTasksyncUrlConfig类,不能用new来创建。
我是这样认为的,@Component和@ConfigurationProperties(prefix = “a.b”)能够读取到yml数据,是因为把这个类交给了IOC管理,new对象就绕过了IOC,就没有起到注入效果了,到时候就会拿到null。
到此这篇关于springboot使用注解获取yml配置的两种方法的文章就介绍到这了,更多相关springboot 获取yml配置内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
RabbitMQ 的消息持久化与 Spring AMQP 的实现详解
这篇文章主要介绍了RabbitMQ 的消息持久化与 Spring AMQP 的实现剖析详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下2019-08-08SpringBoot集成Quartz实现持久化定时接口调用任务
Quartz是功能强大的开源作业调度库,几乎可以集成到任何 Java 应用程序中,从最小的独立应用程序到最大的电子商务系统,本文将通过代码示例给大家介绍SpringBoot集成Quartz实现持久化定时接口调用任务,需要的朋友可以参考下2023-07-07BeanUtils.copyProperties()拷贝id属性失败的原因及解决
这篇文章主要介绍了BeanUtils.copyProperties()拷贝id属性失败的原因及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-09-09
最新评论