gpt4 book ai didi

java - Spring Config 属性未在某个服务器上填充

转载 作者:行者123 更新时间:2023-12-01 23:14:19 24 4
gpt4 key购买 nike

我在 Spring MVC 项目中对此进行了初始化,但 BASE_URL 始终为空。在其他三台服务器上它工作得很好。此类和静态变量的初始化是否发生了什么?

BaseClass.java

public final String BASE_URL = SystemConfiguration.restHost;

SystemConfiguration.java

public static String restHost;

public void setRestHost(String restHost) {
SystemConfiguration.restHost = restHost;
}

applicationContext.xml

<property name="RestHost">
<value>${restHost:https://example.com}</value>
</property>

最佳答案

这毕竟是Java。静态字段在它们所属的类被加载和初始化时被初始化。

如果在应用程序加载应用程序上下文并设置 SystemConfiguration bean 中的字段之前加载 BaseClass,则 BASE_URL 将被初始化为 null,因为 SystemConfiguration.restHost 默认情况下也是 null

你真的应该考虑改变你的设计。没有理由拥有任何静态字段。 Spring 可以将所有配置值作为 bean 或 bean 值进行处理。

关于java - Spring Config 属性未在某个服务器上填充,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21463687/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com