总结

  • Spring Environment 抽象提供了一个统一接口来访问属性和 profiles。
  • 属性是用于存储配置的键/值对。
  • Profiles 是仅在特定 profile 激活时才注册的逻辑 bean 组。
  • Spring Boot 根据优先级规则从不同来源收集属性。从最高到最低优先级,属性可以定义在命令行参数、JVM 系统变量、操作系统环境变量、特定 profile 的属性文件和通用属性文件中。
  • Spring bean 可以通过使用 @Value 注解注入值,或通过映射到一组属性的 @ConfigurationProperties bean,从 Environment 对象访问属性。
  • 活动 profile 可以通过 spring.profiles.active 属性定义。
  • @Profile 注解标记仅在指定 profile 激活时才被考虑的 bean 或配置类。
  • Spring Boot 管理的属性提供了 15 要素方法论定义的外部化配置,但这还不够。
  • 配置服务器处理密钥加密、配置可追溯性、版本控制和运行时无需重启的上下文刷新等方面。
  • 可以使用 Spring Cloud Config Server 库设置配置服务器。
  • 配置本身可以根据不同策略存储,例如在专用 Git 仓库中。
  • 配置服务器使用应用程序名称、活动 profile 和 Git 特定标签来标识应向哪个应用程序提供哪个配置。
  • Spring Boot 应用程序可以使用 Spring Cloud Config Client 库通过配置服务器进行配置。
  • @ConfigurationProperties bean 被配置为监听 RefreshScopeRefreshedEvent 事件。
  • 当新更改推送到配置仓库后可以触发 RefreshScopeRefreshedEvent 事件,使客户端应用程序使用最新配置数据重新加载上下文。
  • Spring Boot Actuator 定义了一个 /actuator/refresh 端点,可用于手动触发该事件。

results matching ""

    No results matching ""