Spring cloud配置客户端(二)

简介: Bootstrap配置属性 调整Bootstrap配置文件路径 覆盖远程配置文件属性 自定义Bootstrap配置 自定义Bootstrap配置属性源 Bootstrap配置 参考BootstrapApplicationListener实现 Bootstrap配置文件 String configName = environment.

Bootstrap配置属性

  • 调整Bootstrap配置文件路径
  • 覆盖远程配置文件属性
  • 自定义Bootstrap配置
  • 自定义Bootstrap配置属性源

Bootstrap配置

参考BootstrapApplicationListener实现

Bootstrap配置文件

String configName = environment.resolvePlaceholders("${spring.cloud.bootstrap.name:bootstrap}");

当spring.cloud.bootstrap.name存在时,使用该配置,否则,使用“bootstrap”作为默认。

## application.properties
##通过调整 spring.cloud.bootstrap.enabled=false,尝试关闭bootstrap上下文
##实际测试结果,没有效果
spring.cloud.bootstrap.enabled=false
##关闭env安全
endpoints.env.sensitive=false

注意:BootstrapApplicationListener加载实际早于configFileApplicationListener


原因是:
ConfigFileApplicationListener的Order= Ordered.HIGHEST_PRECEDENCE+10(第十一位)
BootstrapApplicationListener的Order = Ordered.HIGHEST_PRECEDENCE+5(第六位)

如果需要调整控制Bootstrap上下文行为配置,需要更高优先级,也就是说Order需要小于Ordered.HIGHEST_PRECEDENCE+5(越小越优先),比如使用程序启动参数:

--spring.cloud.bootstrap.enabld = true

调整Bootstrap配置

调整程序启动参数

 --spring.cloud.bootstrap.name=spring-cloud

bootstrap配置文件名称发生了改变“spring-cloud”,意味着有三个文件:

  • application.properties

    • spring.application.name=spring-cloud-config-client
  • bootstrap.properties

    • spring.application.name=spring-cloud-config-client-demo
  • spring-cloud.properties

    • spring.application.name=spring-cloud
      运行结果(部分):bootstrap1

调整Bootstrap配置文件路径

保留配置文件名称 程序启动参数:

--spring.cloud.bootstrap.name=spring-cloud

调整bootstrap配置文件路径启动参数:

--spring.cloud.bootstrap.location=config

现有四个文件:

  • application.properties

    • spring.application.name=spring-cloud-config-client
  • bootstrap.properties

    • spring.application.name=spring-cloud-config-client-demo
  • spring-cloud.properties

    • spring.application.name=spring-cloud
  • config/spring-cloud.properties 放在resources/config文件夹下

    • spring.application.name=spring-cloud-2
      实际结果

bootstrap2

目录
相关文章
|
负载均衡 监控 Java
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
本文详细介绍了 Spring Cloud Gateway 的核心功能与实践配置。首先讲解了网关模块的创建流程,包括依赖引入(gateway、nacos 服务发现、负载均衡)、端口与服务发现配置,以及路由规则的设置(需注意路径前缀重复与优先级 order)。接着深入解析路由断言,涵盖 After、Before、Path 等 12 种内置断言的参数、作用及配置示例,并说明了自定义断言的实现方法。随后重点阐述过滤器机制,区分路由过滤器(如 AddRequestHeader、RewritePath、RequestRateLimiter 等)与全局过滤器的作用范围与配置方式,提
Spring Cloud Gateway 全解析:路由配置、断言规则与过滤器实战指南
|
Java 关系型数据库 MySQL
Spring Boot自动配置:魔法背后的秘密
Spring Boot 自动配置揭秘:只需简单配置即可启动项目,背后依赖“约定大于配置”与条件化装配。核心在于 `@EnableAutoConfiguration` 注解与 `@Conditional` 系列条件判断,通过 `spring.factories` 或 `AutoConfiguration.imports` 加载配置类,实现按需自动装配 Bean。
|
人工智能 Java 开发者
【Spring】原理解析:Spring Boot 自动配置
Spring Boot通过“约定优于配置”的设计理念,自动检测项目依赖并根据这些依赖自动装配相应的Bean,从而解放开发者从繁琐的配置工作中解脱出来,专注于业务逻辑实现。
3139 0
|
Java Spring
Spring Boot配置的优先级?
在Spring Boot项目中,配置可通过配置文件和外部配置实现。支持的配置文件包括application.properties、application.yml和application.yaml,优先级依次降低。外部配置常用方式有Java系统属性(如-Dserver.port=9001)和命令行参数(如--server.port=10010),其中命令行参数优先级高于系统属性。整体优先级顺序为:命令行参数 > Java系统属性 > application.properties > application.yml > application.yaml。
1478 0
|
前端开发 Java 应用服务中间件
《深入理解Spring》 Spring Boot——约定优于配置的革命者
Spring Boot基于“约定优于配置”理念,通过自动配置、起步依赖、嵌入式容器和Actuator四大特性,简化Spring应用的开发与部署,提升效率,降低门槛,成为现代Java开发的事实标准。
|
缓存 Java 应用服务中间件
Spring Boot配置优化:Tomcat+数据库+缓存+日志,全场景教程
本文详解Spring Boot十大核心配置优化技巧,涵盖Tomcat连接池、数据库连接池、Jackson时区、日志管理、缓存策略、异步线程池等关键配置,结合代码示例与通俗解释,助你轻松掌握高并发场景下的性能调优方法,适用于实际项目落地。
2051 5
|
传感器 Java 数据库
探索Spring Boot的@Conditional注解的上下文配置
Spring Boot 的 `@Conditional` 注解可根据不同条件动态控制 Bean 的加载,提升应用的灵活性与可配置性。本文深入解析其用法与优势,并结合实例展示如何通过自定义条件类实现环境适配的智能配置。
789 0
探索Spring Boot的@Conditional注解的上下文配置
|
安全 算法 Java
在Spring Boot中应用Jasypt以加密配置信息。
通过以上步骤,可以在Spring Boot应用中有效地利用Jasypt对配置信息进行加密,这样即使配置文件被泄露,其中的敏感信息也不会直接暴露给攻击者。这是一种在不牺牲操作复杂度的情况下提升应用安全性的简便方法。
1736 10
|
人工智能 安全 Java
Spring Boot yml 配置敏感信息加密
本文介绍了如何在 Spring Boot 项目中使用 Jasypt 实现配置文件加密,包含添加依赖、配置密钥、生成加密值、在配置中使用加密值及验证步骤,并提供了注意事项,确保敏感信息的安全管理。
1825 1
|
SQL XML Java
配置Spring框架以连接SQL Server数据库
最后,需要集成Spring配置到应用中,这通常在 `main`方法或者Spring Boot的应用配置类中通过加载XML配置或使用注解来实现。
881 0