我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SpringBoot配置文件是怎样的

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SpringBoot配置文件是怎样的

本篇文章为大家展示了SpringBoot配置文件是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

环境:springboot2.2.13

SpringBoot 中有以下两种配置文件

  • bootstrap (.yml 或者 .properties)

  • application (.yml 或者 .properties)

接下来说下这两个配置文件有什么区别!

bootstrap/ application 的区别

bootstrap.yml(bootstrap.properties)先加载

application.yml(application.properties)后加载

bootstrap.yml 用于应用程序上下文的引导阶段,由父Spring  ApplicationContext加载。父ApplicationContext 被加载到使用application.yml的之前。

在 Spring Boot 中有两种上下文,一种是 bootstrap, 另外一种是 application, bootstrap  是应用程序的父上下文,也就是说 bootstrap 加载优先于 applicaton。bootstrap  主要用于从额外的资源来加载配置信息,还可以在本地外部配置文件中解密属性。这两个上下文共用一个环境,它是任何Spring应用程序的外部属性的来源。bootstrap  里面的属性会优先加载,它们默认也不能被本地相同配置覆盖也就是说bootstrap中的配置不能被覆盖。

bootstrap/ application 的应用场景

application 配置文件这个容易理解,主要用于 Spring Boot 项目的自动化配置。

bootstrap 配置文件有以下几个应用场景。

  • 使用 Spring Cloud Config 配置中心时,这时需要在 bootstrap  配置文件中添加连接到配置中心的配置属性来加载外部配置中心的配置信息;

  • 一些固定的不能被覆盖的属性

  • 一些加密/解密的场景;

以下是来自官方对bootstrap.[yml/properties]的一个说明:

A Spring Cloud application operates by creating a “bootstrap” context, which is a parent context for the main application. This context is responsible for loading configuration properties from the external sources and for decrypting properties in the local external configuration files. The two contexts share an Environment, which is the source of external properties for any Spring application. By default, bootstrap properties (not bootstrap.properties but properties that are loaded during the bootstrap phase) are added with high precedence, so they cannot be overridden by local configuration.  The bootstrap context uses a different convention for locating external configuration than the main application context. Instead of application.yml (or .properties), you can use bootstrap.yml, keeping the external configuration for bootstrap and main context nicely separate

 自定义配置文件

  1. @Configuration 

  2. @ConfigurationProperties(prefix = "pack") 

  3. @PropertySource(value = "classpath:config.properties") 

  4. public class PackProperties { 

  5.   private String name; 

  6.   private Integer age ; 


pack.name=xxxx pack.age=10

注意:@PropertySource只能加载properties文件不能加载yml文件。

导入Spring XML文件

@Configuration @ImportResource(locations = {"classpath:application-jdbc.xml", "classpath:application-aop.xml"}) public class ResourceConfig { }

application-jdbc.xml,application-aop.xml两个配置文件必须是spring的配置文件。

配置文件默认值

有如下代码:

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

当配置文件中没有配置pack.name时,这时候服务启动会报错,这时候我们可以通过设置默认值来防止错误。

@Value("${pack.name:xx}")     private String name ;

这里冒号 “:” 后面就是设置的默认值,这里也可以什么也不写${pack.name:}。

加载制定环境的配置文件

一般我们都会为测试环境,开发环境,生产环境分别设置不同的配置文件,不同的环境加载不同的配置文件。

现有如下配置文件:

SpringBoot配置文件是怎样的

生成环境加载prod文件,测试环境加载test文件,开发环境加载dev文件,只需在application.yml配置文件中加入如下配置。

spring:   profiles:     active:     - dev

这是在配置文件中写死,我们也可以在命令行制定

java -jar xxxxx.jar --spring.profiles.active=dev

通过include包含多个配置文件,include是与环境无关的(也就是不管是什么环境都会加载)

spring:   profiles:     active:     - dev     include:     - cloud     - secret

 配置文件加载顺序

查看

ConfigFileApplicationListener.java源码,该文件中定义了从哪些地方加载配置文件。

加载顺序:

  • file:./config/

  • file:./config/*/

  • file:./

  • classpath:config/

  • classpath:

优先级从高到低,高的覆盖低的。

默认情况下加载的是application.yml或application.properties文件。

在启动应用程序的时候可以制定配置文件的名称

java -jar xxxxx.jar --spring.config.name=myapp

源码:

SpringBoot配置文件是怎样的

通过代码读取配置文件

@SpringBootApplication public class SpringBootJwtApplication implements ApplicationRunner{      public static void main(String[] args) {         SpringApplication.run(SpringBootJwtApplication.class, args);     }     @Override     public void run(ApplicationArguments args) throws Exception {         ClassPathResource resource = new ClassPathResource("config.properties");             try {                  Properties properties = PropertiesLoaderUtils.loadProperties(resource);                       System.out.println(properties) ;                      } catch (IOException e) {                     e.printStackTrace() ;         }     } }

这里通过PropertiesLoaderUtils工具类来加载资源

SpringBoot配置文件是怎样的

上述内容就是SpringBoot配置文件是怎样的,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注编程网行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SpringBoot配置文件是怎样的

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

hadoop配置文件是怎么样的

这篇文章给大家介绍hadoop配置文件是怎么样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。文件名称 格式 描述hadoop-env.sh
2023-06-03

Springboot中注解及配置文件加载顺序是怎样的

这篇文章将为大家详细讲解有关Springboot中注解及配置文件加载顺序是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。Springboot常用注解及底层实现1、@SpringBoot
2023-06-25

SpringBoot Mybatis怎么配置文件

这篇文章主要介绍“SpringBoot Mybatis怎么配置文件”,在日常操作中,相信很多人在SpringBoot Mybatis怎么配置文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SpringBoo
2023-07-05

springboot怎么读取配置文件

在Spring Boot中,可以通过`@Value`注解、`Environment`接口、`@ConfigurationProperties`注解等方式来读取配置文件。使用`@Value`注解读取配置文件中的值:import org.spr
2023-10-25

Springboot的yml配置文件怎么使用

今天小编给大家分享一下Springboot的yml配置文件怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、服务配置
2023-07-05

springboot怎么配置上传文件的maxRequestSize

这篇文章主要介绍“springboot怎么配置上传文件的maxRequestSize”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“springboot怎么配置上传文件的maxRequestSize”
2023-06-29

springboot怎么配置多个yml文件

在Spring Boot中配置多个YAML文件可以通过以下步骤实现:创建多个YAML文件,每个文件对应一个配置文件。例如,创建一个名为application.yml的默认配置文件和一个名为application-dev.yml的开发环境配置
springboot怎么配置多个yml文件
2024-02-29

SpringBoot怎么使用applicationContext.xml配置文件

这篇文章主要介绍了SpringBoot怎么使用applicationContext.xml配置文件的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇SpringBoot怎么使用applicationContext.
2023-07-02

springboot怎么配置文件优先级

Spring Boot 配置文件的优先级是根据文件位置和加载顺序来确定的,优先级从高到低如下:命令行参数:命令行参数会覆盖其他配置。例如使用 `java -jar app.jar --server.port=8080` 可以覆盖配置文件中的
2023-10-27

Springboot的yml配置文件用法

这篇文章主要介绍了Springboot的yml配置文件用法,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2023-03-19

CentOS中网络配置相关文件配置选项说明是怎样的

这篇文章将为大家详细讲解有关CentOS中网络配置相关文件配置选项说明是怎样的,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。CentOS 修改IP地址等网络相关的配置文件找到对应网卡的IP地
2023-06-10

SpringBoot原理中自动配置机制是怎样的

本篇文章为大家展示了SpringBoot原理中自动配置机制是怎样的,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。前言在当下的java生态里,SpringBoot已经成为事实上的开发标准,绝大多数人现
2023-06-25

Springboot读取配置文件及自定义配置文件的方法

1.创建maven工程,在pom文件中添加依赖 org.springframework.boot spring-boot-starter-parent
2023-05-30

springboot请求路径怎么配置在配置文件中

今天小编给大家分享一下springboot请求路径怎么配置在配置文件中的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。请求路径
2023-06-29

springboot怎么读取外部配置文件

Spring Boot可以通过使用@PropertySource注解来读取外部配置文件。以下是一种常见的方法:1. 创建一个配置类,例如ApplicationConfig:```java@Configuration@PropertySour
2023-09-25

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录