gpt4 book ai didi

java - 如何避免将 @RefreshScope 放在应用程序中的多个 bean 上

转载 作者:行者123 更新时间:2023-12-02 11:01:44 25 4
gpt4 key购买 nike

我们正在使用 Spring Cloud 外部化微服务的配置(基于 Spring Boot)。

根据我对Spring Cloud的理解,为了使bean能够从配置服务器加载刷新/更新的值,我们需要在Spring Cloud客户端中做两件事:

  1. 添加@RefreshScope在 bean 上从属性文件读取值使用@Value
  2. 添加 Spring 致动器以提供/刷新端点刷新上下文。

场景:我们有数百个类使用 @Value 从属性文件中读取值。我必须使用 @RefreshScope 注释将所有这些 bean 标记为启用刷新。

如何避免输入 @RefreshScope所有这些类的注释。是否有任何快捷方式或 Spring Cloud 功能可以解决这种情况。

最佳答案

您可能想研究名为 @ConfigurationProperties 的 Spring Boot 功能。它旨在更好地组织多个外部配置选项。

根据this Github issue ,它应该适用于 spring-cloud,无需使用 @RefreshScope

编辑(对评论的 react ):也许您错过了@ConfigurationProperties。使用此注释,您将不会在其他配置类中使用它。您将有专门的类(或几个类)仅用于读取和提供属性。其他配置类将注入(inject)此配置持有者 bean。

关于java - 如何避免将 @RefreshScope 放在应用程序中的多个 bean 上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51282130/

25 4 0