springboot 加载多个配置文件,获取配置文件中的数组值

开发者福利!热门AI工具限时免费用 购周边即赠Coding Plan Lite,Claude Code、Cursor等20+工具畅享,效率翻倍! 阅读详情

目录

1、加载多个配置文件

需求描述1:

项目结构:

详细配置:

配置yml

测试:

2、获取配置文件中的数组值

需求描述2:

实现方式:

测试:



1、加载多个配置文件

  • 需求描述1:

项目中需要根据功能配置多个配置文件,保存相关的信息,如,application-ftp.yml 保存ftp相关的信息,application-redis.yml 保存redis的配置信息

  • 项目结构:

  • 详细配置:

新建3个配置文件,application-config.yml、application-ftp.yml、application-redis.yml,可以根据项目实际情况建立配置文件,需要注意的是,文件名要以application- 开头。

  • 配置yml

配置application.yml

server:
  port: 8084

spring:
  profiles:
    include: config,ftp,redis

配置application-config.yml

#配置项目中的其他配置值
config:
  value: config

配置application-ftp.yml

#配置ftp的信息,下载上传路径等
ftp:
  user: user
  password: 123456

配置application-redis.yml

#配置redis的相关信息
redis:
  name: redis
  password: 1234
  • 测试:

新建测试类,测试能否获取多配置文件的值:

import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @description
 * @create: 2020-01
 **/
@Slf4j
@RestController
public class TestApplicationYmlsController {

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

    @Value("${ftp.user}")
    private String ftpUser;

    @Value("${ftp.password}")
    private String ftpPassword;

    @Value("${redis.name}")
    private String redisUser;

    @Value("${redis.password}")
    private String redisPassword;

    @RequestMapping("/test")
    public String testYml() {
        log.info("config:{},ftpUser:{},ftpPassword:{},redisUser:{},redisPassword:{}",config,ftpUser,ftpPassword,redisUser,redisPassword);
        return "success";
    }
}

postman 接口测试 http://127.0.0.1:8084/test

查看后台日志,配置文件中的值可以正常取出来:

 

2、获取配置文件中的数组值

  • 需求描述2:

配置文件application.yml 中存在如下结构,需要获取各个ip:

provinceConf:
  smpIp:
    - 192.168.2.164
    - 192.168.2.166
  • 实现方式:

新建配置类:

import lombok.Data;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * @description
 * @create: 2020-01-19
 **/
@Data
@Component
@ConfigurationProperties(prefix = "provinceconf")
public class YmlListValueConfig {
    private String [] smpIp;
}
  • 测试:

在以上测试类中注入获取数组值的配置类,接口调用测试:

结果:

nginx配置,访问不同二级域名到达不同目标网站 nginx配置 阅读详情

相关推荐

SpringBoot | 详解SpringBoot配置文件及其原理

目录 一、配置文件 二、YAML语法 1、基本语法 2、的写法 (1)、字面量:普通的(数字,字符串,布尔) (2)、对象、Map(属性和) (3)、数组(List、Set) 三、配置文件注入 1、一个简单的示例 2、@Value获取和@ConfigurationProperties获取比较 3、数据校验 4、使用@PropertySource加载指定的配...

小白菜的博客 5037

nginx反向代理二级域名绑定方法及注意事项

摘要    本文介绍了利用nginx实现多域名和多站点的绑定的方法及相关注意事项。您也可以只看标题或红色标注部分。:smiling_face: 1、应用场景   我们经常会遇到在同一台服务器建立多个Web站点的情况,普遍的做法是为不同的站点配置不同的端口,这样就可以用IP:Port的形式访问。   但是用IP访问毕竟不方便,不生动,不容易记忆。那么,我们可以给每个站点绑定不同的域名。(在这里我们仅谈公网情况)即使我们只有一个域名,我们可以设置多个二级域名,使用Nginx很容易实现。 2、基本要求   通常,网上教程会直接贴一段配置文件的代码,告诉我们如此这般就Ok了。但我发现很多新手看着教程配置,并不能像博主那样就S

SpringBoot】2、SpringBoot配置文件详解

SpringBoot使用一个全局的配置文件配置文件名是固定的,支持两种格式 1、两种格式(properties,yml) application.properties application.yml 由此可以看出 application.yml 文件格式的内容更为简洁,清晰,目前大部分都是 YML 格式,我们主要讲 YML 格式的配置文件 注意: 1、以空格的缩进来控制层级关系,左对齐的一列...

JACKAL 20万+

nginx 上配置二级目录访问 vue 项目

按照上面 2 个步骤配置好访问‘访问 A 项目(vue 项目)访问 B 项目(vue 项目)

dhp1994的博客 1719

nginx+tpmcat+ftp配置

user root; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info; #pid logs/nginx.pid; events { worker_connections 10...

qq_35071164的博客 452

配置Nginx二级域名

(3)如果一级域名与二级域名为不同接入商,一级域名在原来的接入商备案成功后,在二级域名解析指向的新的接入商处需要将该一级域名进行新增接入备案,并将所接入二级域名填写在备案信息备注中。如果只是想要http协议,那么到此就可以了,如果想要https协议访问域名地址,那么配置SSL证书是为了能够通过https来访问,就不会提示不安全。但是,如果二级域名指向的是不同的IP地址,则要跟接入商联系,让接入商在原备案网站下添加接入信息。(2)如果一级域名与二级域名为同一接入商,一级域名备案成功后使用二级域名无需备案。

u013302168的博客 4579

SpringBoot的配置【配置文件加载顺序、配置原理】(超详细)

SpringBoot的配置配置文件YAML语法基本语法的写法字面量:普通的(数字,字符串,布尔)对象、Map(属性和)(键对)数组(List、Set)配置文件注入代码演示导入配置文件处理器,使编写配置有提示properties配置文件在idea中默认utf-8可能会乱码@Value获取和@ConfigurationProperties获取比较配置文件注入数据校验@PropertySource&@ImportResource&@Bean@PropertySource:加载指定的

『愚』的博客 1万+

springBoot 配置文件分类和获取配置文件

springBoot 配置文件分类和获取配置文件

快乐的小三菊的博客 2312

SpringBoot获取配置文件,就这么简单。

在讲SpringBoot 获取配置文件之前我们需要对SpringBoot 的项目有一个整体的了解,如何创建SpringBoot 项目,项目结构等等知识点,我在这里就不一一讲述了,没有学过的小伙伴可以自己在网上找一些资料进行学习,很简单的。 下面让我们开始今天的内容讲解吧。 一、SpringBoot 全局配置文件加载顺序 在SpringBoot 当中,全局配置文件有两种不同的格式,一个是我们常见的properties, 一种是yml. 这两种格式的文件其实也没什么太大的区别,使用的时候按照个人的习惯来就行.

阿福聊编程 2796

SpringBoot配置文件加载

获取配置文件属性 @Configuration @Data public class RedisConfig { // 如果不存在该配置,默认为null @Value("${spring.redis.host:}") private String host; @Value("${spring.redis.password:}") private String p...

dyn的博客 4272

最全面的SpringBoot教程(二)——SpringBoot配置文件

本文为SpringBoot配置文件相关内容介绍,下边将对配置文件分类,yaml基本语法,yaml数据格式,获取数据,profile-运维,项目内部配置文件加载顺序,项目外部配置文件加载顺序等进行详尽介绍~

小新要变强的博客 3161

SpringBoot学习_yaml介绍和yaml配置文件获取

文章目录yaml简介yaml语法基本语法的写法 yaml简介 SpringBoot使用一个全局的配置文件,也就是下面这两个中的任意一个SpringBoot都会把它当做配置文件,配置文件名是固定的 application.properties application.yml 配置文件的作用:修改SpringBoot自动配置的默认SpringBoot在底层都给我们自动配置好; YAML(YA...

qq_36901488的博客 6216

SpringBoot yaml配置文件

比如我的yml中写的lastName,我们类中属性为last_name,这2个还是可以绑定起来的,不影响赋。这就是松散绑定。配置文件yml还是properties他们都能获取;如果说,我们只是在某个业务逻辑中需要获取一下配置文件中的某项,使用@Value;如果说,我们专门编写了一个javaBean来和配置文件进行映射,我们就直接使用@ConfigurationProperties;

m0_74823336的博客 1616

springboot教程 yml配置文件获取配置文件中的内容

yml配置文件一、 yml基本语法二、yml的写法三、@ConfigurationProperties注解获取全局配置文件中内容四、@Value注解获取全局配置文件中内容五 @Value与@ConfigurationProperties对比 springboot使用一个全局的配置文件,application.properties或者application.yml,配置文件放在 ‘src/main...

qq_36723759的博客 2910

SpringBoot(5)——SpringBoot配置文件

springboot 启动会扫描以下位置的application.properties或者application.yml文件作为Spring boot的默认配置文件。导入Spring的配置文件,让配置文件里面的内容生效;Spring Boot里面没有Spring的配置文件,我们自己编写的配置文件,也不能自动识别;我们在主配置文件编写的时候,文件名可以是 application-{profile}.properties/yml。SpringBoot使用一个全局的配置文件配置文件名是固定的;

2301_78566776的博客 1091

springboot获取数组类型的配置文件

获取配置数组类型的配置文件 配置文件如下: socket.socketDTOList[0].kafkaTopic=A socket.socketDTOList[0].socketPort=8001 socket.socketDTOList[1].kafkaTopic=B socket.socketDTOList[1].socketPort=8002 socket.socketDTOList[2].kafkaTopic=C socket.socketDTOList[2].socketPort=8003 要想

qq_38161409的博客 2296

SpringBoot - 加载配置文件的实现方式

1、简介 在实际的项目开发过程中,我们经常需要将某些变量从代码里面抽离出来,放在配置文件里面,以便更加统一、灵活的管理服务配置信息。比如,数据库、eureka、zookeeper、redis、mq、kafka 等服务组件的连接参数配置,还有我们自定义的项目参数配置变量。 当然,实际上根据当前的业务需求,我们往往会自定义参数,然后注入到代码里面去,以便灵活使用! 今天,我们就一起来聊一聊SpringBoot加载配置文件的几种玩法,如果有遗漏,欢迎留言! SpringBoot 项目在启用时: 首先会默

10万+

SpringBoot项目获取配置文件中的

前言: 小编用的是Springboot,在实际开发过程中,开发环境和测试环境的数据库的等参数存在差异,往往有些功能需要在代码中读取配置文件中的,今天就给大家介绍一个注解@Value()的用法 该注解的作用是将我们配置文件的属性读出来,有@Value(“${}”)和@Value(“#{}”)两种方式。 @Value()使用的俩种方式。 @Value(${}) (1)读取applicati...

Soup's Blog 1202

SpringBoot——如何获取配置文件中的配置信息

SpringBoot——如何获取配置文件中的配置信息

hssjsh的博客 1671
上一篇: @Async Could not find unique TaskExecutor bean; NoUniqueBeanDefinitionException;
下一篇: tk.mybatis 分表 实现数据库增删改查
龙池小生
博客等级 码龄10年 63粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值