springboot 加载自定义yml文件

摘要:
Springboot加载自定义yml文件配置的方法ConfigurationProperties注解的locations属性在1.5.X以后没有了,不能指定locations来加载yml文件PropertySource注解不支持yml文件加载,详细见官方文档:SpringFramework有两个类加载YAML文件,YamlPropertiesFactoryBean和YamlMapFactoryBe
Springboot加载自定义yml文件配置的方法
  1. ConfigurationProperties注解的locations属性在1.5.X以后没有了,不能指定locations来加载yml文件

    image-20200724155412600

  2. PropertySource注解不支持yml文件加载,详细见官方文档:

image-20200724155336975

  1. Spring Framework有两个类加载YAML文件,YamlPropertiesFactoryBean和YamlMapFactoryBean

image-20200724155457932

  1. 可以通过PropertySourcePlaceholderConfigurer来加载yml文件,暴露yml文件到spring environment
/**
 * @author WGR
 * @create 2020/7/24 -- 15:31
 */
@Configuration
public class SpringBootConfigura {
    // 加载YML格式自定义配置文件
    @Bean
    public static PropertySourcesPlaceholderConfigurer properties() {
        PropertySourcesPlaceholderConfigurer configurer = new PropertySourcesPlaceholderConfigurer();
        YamlPropertiesFactoryBean yaml = new YamlPropertiesFactoryBean();
        yaml.setResources(new ClassPathResource("config.yml"));//File引入
        configurer.setProperties(yaml.getObject());
        return configurer;
    }
}

配置文件:

my:
  servers:
    - dev.example.com
    - another.example.com
    - ${random.value}
  1. 测试
@Controller
public class SpringBootTest {

    @Autowired
    Config config;

    @GetMapping("/testConfig")
    @ResponseBody
    public String testConfig(){
        return config.getServers().toString();
    }
}

image-20200724155645621

免责声明:文章转载自《springboot 加载自定义yml文件》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇使用Rancher的RKE快速部署Kubernetes集群SVN图标不显示的解决几种方式下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Yii2基本概念之——配置(Configurations)

在Yii中创建新对象或者初始化已经存在的对象广泛的使用配置,配置通常包含被创建对象的类名和一组将要赋值给对象的属性的初始值,这里的属性是Yii2的属性。还可以在对象的事件上绑定事件处理器,或者将行为附加到对象上。从而在定义了对象的初始值的同时,充分规定对象的运行时的动态特性。 以下代码中的配置被用来创建并初始化一个数据库连接: $config = [...

elementui源码解析markdown处理

一些参考网址: markdown-it官网:markdown-it | markdown-it 中文文档 (docschina.org) markdown-it插件的分析和源码分析参考地址:https://zhuanlan.zhihu.com/p/64290806 参考例子:https://gitee.com/springliuliu/mdToHtm...

Web DNS 实战

环境部署   192.168.9.28     Centos7     zx28.zxjr.com     DNS 主     192.168.9.29   Centos7   zx29.zxjr.com   DNS 从   192.168.9.30     Centos7     zx30.zxjr.com   测试机   192.168...

交换机VLAN、 TRUNK 、VTP 配置

交换机VLAN、 TRUNK 、VTP 配置 1. 配置 CISCO 二层交换机的IP 地址(catalyst 2950 为例) SW1(config)#int vlan 1 //进入管理接口interface vlan 1 SW1(config-if)#ip address 11.1.1.2 255.255.255.0 //配置IP 地址 SW1(con...

vue2.0项目中使用Ueditor富文本编辑器示例

最近在vue项目中需要使用富文本编辑器,于是将Ueditor集成进来,作为公共组件。在线预览:https://suweiteng.github.io/vue2-management-platform/#/editor项目地址:https://github.com/suweiteng/vue2-management-platform 记得在右上角点个赞哦~...

tf.Session()函数的参数应用(tensorflow中使用tf.ConfigProto()配置Session运行参数&&GPU设备指定)

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/dcrmg/article/details/79091941 tf.ConfigProto()函数用在创建session的时候,用来对session进行参数配置: config = tf.Config...