简介

[这里是代码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

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

<dependency>
  <groupId>com.alibaba.cloud</groupId>
  <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
  <version>2021.0.1.0</version>
</dependency>

导入方式如下所示:

spring:
  cloud:
    nacos:
      server-addr: localhost:8848
  config:
    import:
    # 导入nacos配置中心的配置文件
    - optional:nacos:spring-config-import-example.yaml

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

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

总结

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

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

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐