• SpringBoot使用spring.config.import多种方式导入配置文件


    简介

    [这里是代码001]从2.4.x版本开始支持了导入文件的方式来加载配置参数,与[这里是代码002]不同的是不用提前设置而且支持导入的文件类型相对来说要丰富很多。

    我们只需要在[这里是代码003]配置文件中通过[这里是代码004]属性配置需要导入的文件列表即可。

    通过[这里是代码005]属性支持导入多种途径的配置文件,下面简单介绍几种。

    导入classpath下的配置文件

    可以导入[这里是代码006]下任意目录的文件,使用方式如下所示:

    [这里是代码007]

    在[这里是代码008]下分别创建[这里是代码009]、[这里是代码010]目录,在[这里是代码011]目录下创建[这里是代码012]、在[这里是代码013]目录下创建[这里是代码014]。

    通过上面配置的属性导入后我们直接就可以在项目中通过[这里是代码015]或[这里是代码016]来注入使用。

    [这里是代码017]、[这里是代码018]目录编译后都会到[这里是代码019]根目录下。

    [这里是代码020]

    [这里是代码021]

    导入系统目录下的配置文件

    可以导入操作系统目录下的配置文件,我在[这里是代码022]目录下创建了名为[这里是代码023]的文件,导入方式如下所示:

    [这里是代码024]

    使用[这里是代码025]方式注入映射如下所示:

    [这里是代码026]

    导入Nacos配置中心的配置文件

    [这里是代码027]在[这里是代码028]发布了[这里是代码029]版本后对[这里是代码030]做了支持,可以直接通过加载[这里是代码031]内指定的配置文件。

    首先我们使用[这里是代码032]来创建一个[这里是代码033]容器,步骤如下所示:

    [这里是代码034]

    访问http://localhost:8848/nacos,使用默认账号nacos登录后在public命名空间下创建一个名为spring-config-import-example.yamlYAML格式的配置文件,内容如下所示:

    config:
        source: nacos
    
    • 1
    • 2

    SpringBoot项目中如果需要集成nacos,可以直接添加spring-cloud-starter-alibaba-nacos-config依赖,如下所示:

    
      com.alibaba.cloud
      spring-cloud-starter-alibaba-nacos-config
      2021.0.1.0
    
    
    • 1
    • 2
    • 3
    • 4
    • 5

    导入方式如下所示:

    spring:
      cloud:
        nacos:
          server-addr: localhost:8848
      config:
        import:
        # 导入nacos配置中心的配置文件
        - optional:nacos:spring-config-import-example.yaml
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8

    在项目中同样可以使用@ConfigurationProperties@Value来注入配置参数,如下所示:

    @Value("${config.source}")
    private String configSource;
    
    • 1
    • 2

    总结

    spring.config.import使用方式是多样化的,如果你需要自定义导入的方式,可以借鉴nacos对其实现的部分代码。

    先自我介绍一下,小编13年上师交大毕业,曾经在小公司待过,去过华为OPPO等大厂,18年进入阿里,直到现在。深知大多数初中级java工程师,想要升技能,往往是需要自己摸索成长或是报班学习,但对于培训机构动则近万元的学费,着实压力不小。自己不成体系的自学效率很低又漫长,而且容易碰到天花板技术停止不前。因此我收集了一份《java开发全套学习资料》送给大家,初衷也很简单,就是希望帮助到想自学又不知道该从何学起的朋友,同时减轻大家的负担。添加下方名片,即可获取全套学习资料哦

  • 相关阅读:
    java计算机毕业设计高校毕业就业管理系统源码+mysql数据库+系统+lw文档+部署
    2023网安面试题170道,轻松应对面试
    CCIE-15-MPLS-VPN
    CUDA 安装
    Kubernetes 1.24 单节点安装
    Linux 【gdb】
    Go语言 接口与类型
    HDFS 伪分布式环境搭建
    一览「数字身份」市场结构:我们将在元宇宙中成为谁?
    Linux——信号量(定义、示例、信号量接口)
  • 原文地址:https://blog.csdn.net/m0_67401153/article/details/126114440