当前位置: 首页 > 知识库问答 >
问题:

Spring Boot-制作最终配置

傅树
2023-03-14

我的Spring Boot(1.3.5)应用程序使用应用程序的外部化配置。属性文件。除此之外,我目前还有一个配置类:

@Configuration
MyConfig {
   @Value("${prop}")
   private String prop;

   // getters
}

我想知道是否有办法使prop最终。理想情况下,我希望公开访问我的配置属性;例如myConfig.prop。我想让所有属性公开和最终;但是我相信配置类在加载属性之前首先通过空构造函数实例化。是否有替代方法?

共有2个答案

梁宪
2023-03-14

对于所有来到这里问自己同样问题的人,请看一看https://stackoverflow.com/a/57191291/11770752

此外,如果需要,您可以将其用于lombok,这减少了类的样板代码。

孔皓
2023-03-14

您可以在构造函数中插入配置值,并将其分配给final字段。

@Configuration
class MyConfig {
  private String final prop;
  public MyConfig(@Value("${prop}") String prop){
    this.prop = prop;
  }

 }
 类似资料:
  • 我有一个简单的SpringBoot应用程序,其结构如下: 我使用的是标准应用程序。yml文件,其中存储了所有必要的道具,并在必要时使用@ConfigurationProperties注释注入它们。 现在对于一个bean,我有很多道具,我不想压倒我的普通应用程序。yml文件和所有的道具。所以我想要一个单独的(我把它放在类路径中的service dir下)。 根据Spring文档,我可以使用这样的东西

  • 我将使用Ehcache和Springboot。我只是想知道在处理大量请求时,什么会是最佳配置。 在直播期间,我们可能会收到超过30000 req/h。虽然在开发中,我们无法生成此方案。 你能帮我如何计算内存,以创建一个最佳配置,应在Prod中完美工作。 我检查了Postman中的响应大小,在Dev中为3-5 kb,因此我保留了以下配置,但不确定它会有多好。我们的内存大小为2GB(在prod中,我们

  • 类型参数T不应由最终的类型整数限定。不能进一步扩展Final类型 为什么使用final类型作为通配符的上限完全可以,但对类型参数抛出警告?为什么Java甚至允许通配符被最终的上层类型所约束?

  • <dependencyManagement> <dependencies> <dependency> <!--Import dependency management from SpringBoot--> <groupId>org.springframework.boot</groupId>

  • 问题内容: 任何人都可以告诉我在Java上下文中以下行的含义是什么: 除非变量是不可变的,否则仍然可以对其进行操作 据我所知,通过将任何变量声明为final,就无法再次对其进行更改,那么上一行中 不可变 一词的含义是什么? 问题答案: 这意味着,如果您的最终变量是引用类型(即不是像int这样的基元),则只有引用是不能更改的。不能使它引用不同的对象,但是如果类允许,它所引用的对象的字段仍可以更改。例

  • 问题内容: 使用IntelliJ启动我的应用程序时,一切工作正常。 我懂了: 似乎在中找不到自动配置类。如何添加它,该文件的内容应该是什么? 问题答案: 我有同样的问题,只是解决了。 最初,我是使用生成胖子的,该胖子创建了一个名为的文件。与我尝试运行该文件时提到的问题相同。 我认为,因为它是Spring Boot应用程序,所以你需要使用它们的插件。我将包装更改为,spring-boot-maven