当前位置: 首页 > news >正文

spring boot-18

用途

**`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项目都非常重要。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 前端工程化16-什么是节流防抖
  • C#进阶-ASP.NET实现可以缩放和旋转的图片预览页
  • 《Linux运维总结:基于x86_64架构CPU使用docker-compose一键离线部署etcd 3.5.15容器版分布式集群》
  • Python办公自动化:使用openpyxl对工作表进行基本操作
  • 【性能优化】DNS解析优化
  • Python,Spire.Doc模块,处理word、docx文件,极致丝滑
  • 数据结构-排序的概念、应用及其算法实现1(直接插入排序、希尔排序、选择排序、堆排序、冒泡排序)
  • C++第三十六弹---二叉搜索树的性能飞跃:AVL树原理与实现
  • 钢铁百科:A572Gr60和SA572Gr60材质分析、A572Gr60和SA572Gr60简介
  • 【智能启航,速通电工电子!SmartEDA如何成为你的学习加速器】
  • KCP协议(一)
  • 如何制作微课?微课的制作方法和步骤教程,微课录制软件推荐!
  • 数据依赖,执行顺序,promise,async/await
  • 系统架构师质量属性与架构评估案例分析
  • hive sql 处理多层 json 数组
  • (十五)java多线程之并发集合ArrayBlockingQueue
  • Date型的使用
  • Iterator 和 for...of 循环
  • Java读取Properties文件的六种方法
  • VUE es6技巧写法(持续更新中~~~)
  • windows下mongoDB的环境配置
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 力扣(LeetCode)21
  • 聊聊flink的BlobWriter
  • 爬虫进阶 -- 神级程序员:让你的爬虫就像人类的用户行为!
  • 深入体验bash on windows,在windows上搭建原生的linux开发环境,酷!
  • 大数据全解:定义、价值及挑战
  • ###项目技术发展史
  • $ git push -u origin master 推送到远程库出错
  • $jQuery 重写Alert样式方法
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (Redis使用系列) Springboot 在redis中使用BloomFilter布隆过滤器机制 六
  • (博弈 sg入门)kiki's game -- hdu -- 2147
  • (超简单)使用vuepress搭建自己的博客并部署到github pages上
  • (含react-draggable库以及相关BUG如何解决)固定在左上方某盒子内(如按钮)添加可拖动功能,使用react hook语法实现
  • (南京观海微电子)——示波器使用介绍
  • (转)eclipse内存溢出设置 -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m
  • (转载)CentOS查看系统信息|CentOS查看命令
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • .Net 4.0并行库实用性演练
  • .NET 8.0 发布到 IIS
  • .net Application的目录
  • .net core 外观者设计模式 实现,多种支付选择
  • .NET Core引入性能分析引导优化
  • .NET 使用 ILRepack 合并多个程序集(替代 ILMerge),避免引入额外的依赖
  • .NET 中让 Task 支持带超时的异步等待
  • .NET/C# 在代码中测量代码执行耗时的建议(比较系统性能计数器和系统时间)...
  • .net2005怎么读string形的xml,不是xml文件。
  • .net下简单快捷的数值高低位切换
  • @NotNull、@NotEmpty 和 @NotBlank 区别
  • @Repository 注解
  • [ 英语 ] 马斯克抱水槽“入主”推特总部中那句 Let that sink in 到底是什么梗?
  • [20150629]简单的加密连接.txt
  • [24年新算法]NRBO-XGBoost回归+交叉验证基于牛顿拉夫逊优化算法-XGBoost多变量回归预测
  • [ACM独立出版]2024年虚拟现实、图像和信号处理国际学术会议(ICVISP 2024)