spring boot-18

server/2024/10/11 13:25:01/

用途

**`application.properties`**:
- 是 Spring Boot 应用程序的核心配置文件。
- 用于定义应用程序的各种配置属性,如数据库连接、端口号、日志级别等。
- 应用程序的大多数配置都放在这个文件中。

**`bootstrap.properties`**:
- 主要用于 Spring Cloud 的应用程序。
- 用于在应用程序上下文初始化之前设置一些必要的配置,特别是在使用配置中心(如 Spring Cloud Config)时。
- 适用于需要在应用程序启动之前加载的配置,例如配置中心的 URI、应用程序的名称等。

加载顺序

**`application.properties`**:
- 在 Spring Boot 应用程序上下文加载时加载。
- 通常在 `bootstrap.properties` 之后加载。
- 用于大多数应用程序的配置。

**`bootstrap.properties`**:
- 在 Spring Boot 应用程序上下文初始化之前加载。
- 优先于 `application.properties` 加载。
- 适用于需要在应用程序上下文加载之前进行初始化的配置。

典型配置项

**`application.properties`** 的典型配置项:


server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password
logging.level.org.springframework.web=DEBUG

**`bootstrap.properties`** 的典型配置项:


spring.application.name=myapp
spring.cloud.config.uri=http://localhost:8888

使用场景

**`application.properties`**:
- 适用于绝大多数的 Spring Boot 应用程序配置。
- 用于定义应用程序在运行时所需的所有配置。

**`bootstrap.properties`**:
- 主要用于 Spring Cloud 环境,尤其是在使用 Spring Cloud Config 或其他配置中心时。
- 用于定义应用程序在加载 Spring Boot 应用上下文之前所需的配置。

### 示例

**`application.properties` 示例**:

    


server.port=8080
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=password
logging.level.org.springframework.web=DEBUG

**`bootstrap.properties` 示例**:


spring.application.name=myapp
spring.cloud.config.uri=http://localhost:8888

总结

    

bootstrap.properties和application.properties是Spring Boot项目中常用的两个配置文件。它们的作用和使用方式有一些区别,下面将详细介绍它们的区别。

bootstrap.properties是Spring Cloud项目中的配置文件,它主要用于配置Spring Cloud框架相关的配置属性。而application.properties是Spring Boot项目的配置文件,用于配置应用程序的一般属性。

首先,bootstrap.properties是在应用程序启动前加载的,用于提供一些应用程序运行所需的配置信息。它通常用于配置Spring Cloud的一些特性,如服务发现、配置中心等。而application.properties是在应用程序启动后加载的,用于配置应用程序的一般属性,如数据库连接、日志级别等。

另外,bootstrap.properties中的配置属性通常会被application.properties中的同名属性覆盖。这是因为bootstrap.properties的加载优先级高于application.properties,所以当两个配置文件中存在相同的属性时,会以bootstrap.properties中的值为准。这一特性使得bootstrap.properties可以用来配置全局的一些属性,而application.properties可以用来配置应用程序特有的属性。

此外,bootstrap.properties可以通过spring.cloud.bootstrap.location属性指定其加载位置,而application.properties的加载位置是固定的。这使得我们可以灵活地指定bootstrap.properties的加载位置,可以将其放置在外部的配置中心,实现集中管理和动态更新配置。

另一个区别是,bootstrap.properties中的配置属性通常是全局可用的,而application.properties中的配置属性通常是应用程序特定的。这是因为bootstrap.properties的加载时机较早,所以其中的配置属性在应用程序的各个组件中都可以使用。而application.properties的加载时机较晚,所以其中的配置属性通常只在应用程序的特定组件中使用。

最后,由于bootstrap.properties在应用程序启动前加载,所以它的配置属性可以用来配置一些需要在应用程序启动时就生效的功能,如数据源的初始化、外部服务的注册等。而application.properties的配置属性通常是在应用程序启动后才会生效的。

bootstrap.properties和application.properties在作用、加载顺序、加载位置和可用范围等方面有一些区别。它们分别用于配置Spring Cloud和Spring Boot项目的特定属性,具有不同的用途和使用方式。正确理解和合理使用这两个配置文件对于开发和运维Spring Boot和Spring Cloud项目都非常重要。


http://www.ppmy.cn/server/99043.html

相关文章

第十二章 Spring MVC 框架扩展和SSM框架整合(2023版本IDEA)

学习目标 12.1 Spring MVC 框架处理JSON数据12.1.1 JSON数据的传递处理12.1.2 JSON数据传递过程中的中文乱码和日期问题12.1.3 多视图解析器 12.2 Spring MVC 框架中的数据格式转换12.2.1 Spring MVC 框架数据转换流程12.2.2 编写自定义转换器12.2.3 使用InitBinder装配自定义编…

C++之类与对象(完结撒花篇)

目录 前言 1.再探构造函数 2.类型转换 3.static成员 4. 友元 5.内部类 6.匿名对象 7.对象拷贝时的编译器优化 结束语 前言 在前面的博客中,我们对类的默认成员函数都有了一定了解,同时实现了一个日期类对所学的没内容进行扩展延伸,本…

Robot Operating System——std_msgs消息类型说明和使用

大纲 特点类型std_msgs::msg::Bool结构定义字段说明示例用法 std_msgs::msg::Byte结构定义字段说明示例用法 std_msgs::msg::ByteMultiArray结构定义字段说明示例用法 std_msgs::msg::Char结构定义字段说明示例用法 std_msgs::msg::ColorRGBA结构定义字段说明示例用法 std_msgs…

机械学习—零基础学习日志(数学基础汇总1)

零基础为了学人工智能,正在艰苦的学习 我比较推荐,《三个月从零入门深度学习,保姆级学习路线图》的整体学习思路,但因为数学基础太差,而且针对所需的数学系统知识,我依然没有很明确的学习方向。 所以直接…

eval和长度限制

源码 <?php $param $_REQUEST[param]; if(strlen($param)<17 && stripos($param,eval) false && stripos($param,assert) false) {eval($param); } ?> 限制条件&#xff1a; 传入的参数长度不能超过17不能使用eval不能使用assert 解决方案 方…

如何制作自己的python .whl包(支持entry_points)

目录 代码目录结构如下截图所示&#xff1a;dir_test.py 源码如下&#xff1a;list/dir_list.py 源码如下&#xff1a;setup.py 文件源码生成.whl文件指令&#xff1a; 代码目录结构如下截图所示&#xff1a; dir_test.py 源码如下&#xff1a; import os import sys from pat…

周记-2024年第32周8.5~8.11:北京出差,拒绝羞怯

现在是周日晚上23:21&#xff0c;我开始写周记。0&#xff1a;05结束&#xff0c;共花费44分钟。 上周计划 重启早起名人名言朗读冥想。完全没做&#xff0c;本周在北京出差&#xff0c;作息极其不规律。和领导沟通更加自信一些&#xff0c;记住&#xff0c;有问题就给领导提…

JAVA 程序员-云计算学习路径

课程内容关系图 第一章&#xff1a;容器化基础 云计算简单概念测试安装 Nginx服务器的安全组设置按量付费优点私有网络 VPC 实战Docker 基础概念开通华为服务器Docker 安装镜像操作容器操作修改容器内容提交改变镜像保存镜像推送挂载主机目录补充内容进阶&#xff1a;创建 Java…