首页 > 其他分享 >Spring Boot 2.x中配置文件加载顺序分析

Spring Boot 2.x中配置文件加载顺序分析

时间:2024-03-13 14:55:31浏览次数:24  
标签:bootstrap 配置文件 Spring 配置 Boot Nacos application yml 加载

一般spring boot 2.x的配置有多种方式,如resources文件夹中可以定义bootstrap.yml(或bootstrap.properties)、application.yml(或application.properties)、配置中心(如nacos),那么它们加载顺序是怎样的,如何使用?

  • bootstrap.yml:首先加载bootstrap.yml(或bootstrap.properties)。这个文件用于配置应用程序的上下文(ApplicationContext),通常用于加载外部配置,如服务发现和配置中心的属性。bootstrap.yml中的属性具有更高的优先级,并且通常用于设置需要尽早读取的配置项,如你可以配置Nacos相关的属性,如服务名称、配置中心地址、命名空间、分组等信息。
  • nacos: Spring Cloud Alibaba会根据bootstrap文件中的配置信息从Nacos配置中心拉取远程配置。这些远程配置会与bootstrap.yml合并,并且具有更高的优先级。
  • application.yml:在bootstrap.yml和nacos远程配置加载完成后,接着加载application.yml(或application.properties)。这个文件用于配置Spring Boot应用程序的各个组件,包括内置的Spring应用程序上下文。application.yml中的属性用于覆盖或补充bootstrap.yml和nacos中的配置。

在Nacos配置中心中,您可以为不同的环境(如开发、测试、生产)设置不同的配置集。当应用程序启动时,它会首先从Nacos获取与当前环境匹配的配置集,然后将其与本地配置合并。
需要注意的是,Nacos配置中心的配置可以在应用程序运行时动态刷新,这意味着您可以在不重启应用程序的情况下更改配置。这种能力使得Nacos成为一个强大的配置管理工具。
总的来说,结合Nacos时,配置加载的顺序是:bootstrap文件 -> Nacos远程配置 -> application文件。这样的设计允许您在不同的环境中灵活地管理和部署应用程序配置。

标签:bootstrap,配置文件,Spring,配置,Boot,Nacos,application,yml,加载
From: https://www.cnblogs.com/chq3272991/p/18070639

相关文章

  • SpringMVC拦截器
    SpringMVC拦截器拦截器介绍拦截器同过滤器一样,都是面向切面编程—AOP的具体实现,符合横切关注点的功能都可以考虑使用AOP实现;可以使用Interceptor来执行某些任务,例如在Controller处理请求之前编写日志,添加或配置更新配置;在Spring中,当请求发送到Controller处理之前,他必......
  • springboot/java/php/node/python企业微培训小程序【计算机毕设】
    本系统(程序+源码)带文档lw万字以上  文末可领取本课题的JAVA源码参考系统程序文件列表系统的选题背景和意义选题背景:随着科技的迅猛发展,移动互联网已成为企业培训的新阵地。传统的面对面培训模式因其时间、地点的限制性逐渐显得不够灵活,而小程序作为一种轻量级的应用,能够......
  • springboot的代理模式示例----面向切面编程
    1.定义切面类 2.编写切面类importcom.alibaba.fastjson.JSON;importcom.fasterxml.jackson.databind.ObjectMapper;importcom.xlkh.bigscreen.common.utils.RedisDeviceUtil;importcom.xlkh.bigscreen.service.bigscreen.BigscreenRedisService;importcom.xlkh.bigs......
  • springmvc入门登录功能
    学习springmvc的时候的一个入门功能,登录功能。配置好web框架,导入需要springjar包和springmvc需要的两个jar包,就可以编码了,首先写了登录需要的jsp页面<%@pagecontentType="text/html;charset=UTF-8"language="java"%><html><head><title>Title</title></hea......
  • SpringBoot Controller接收参数的常用方式总结
    原生的HttpServletRequest可和其他注解配合使用,是内置对象,是整个请求可获取到所有的数据请求路径参数@PathVariable请求路径参数例如url/{id},则获取id参数。@PathVariabel(name="xx")@RequestParam例如url?name=xxx。@RequestParam(name="xx")Body参数@Req......
  • Spring核心思想之 AOP:在自定义容器基础上实现AOP功能
    在Spring核心思想之AOP:基础概念及注解式AOP初体验中对AOP的基本概念及使用有了初步的了解。本文仿Spring自定义后置处理器、注解等,在Spring的核心思想之IOC:仿Spring自定义一个实现IOC的容器的基础上实现自定义的AOP功能。aop相关目录:......
  • 基于springboot的车辆充电桩管理系统(系统+数据库+文档)
    **......
  • 基于SpringBoot的CSGO赛事管理系统(程序+数据库+文档)
    **......
  • springboot基于JavaWeb的兽医站管理系统的设计与实现
    摘要随着世界经济信息化、全球化的到来和互联网的飞速发展,推动了各行业的改革。若想达到安全,快捷的目的,就需要拥有信息化的组织和管理模式,建立一套合理、动态的、交互友好的、高效的兽医站管理系统。当前的信息管理存在工作效率低,工作繁杂等问题,基于信息化的兽医站管理目......
  • springboot基于Java的公共交通查询系统的设计与实现
    摘要近年来互联网络的迅猛发展和电子终端设备的普及,赋予了各行业充足的发展空间。公共交通查询系统相比于传统信息技术,时效性是它最大的特色,已经在电子娱乐、经济等中发挥着举足轻重的作用。2019年疫情的爆发,更是短时间内迅速扩大了线上管理系统的规模。尽管服务行业已经......