Java 未在特定服务器上填充Spring配置属性

Java 未在特定服务器上填充Spring配置属性,java,spring,spring-mvc,static,Java,Spring,Spring Mvc,Static,我在SpringMVC项目中对此进行了初始化,但基本URL始终为空。在其他三台服务器上,它工作正常。这个类和静态变量的初始化是否有问题 BaseClass.java public final String BASE_URL = SystemConfiguration.restHost; public static String restHost; public void setRestHost(String restHost) { SystemConfiguration.restHo

我在SpringMVC项目中对此进行了初始化,但基本URL始终为空。在其他三台服务器上,它工作正常。这个类和静态变量的初始化是否有问题

BaseClass.java

public final String BASE_URL = SystemConfiguration.restHost;
public static String restHost;

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

public final String BASE_URL = SystemConfiguration.restHost;
public static String restHost;

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


${restHost:https://example.com}

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

如果在应用程序加载应用程序上下文并从
SystemConfiguration
bean设置字段之前加载了
BaseClass
,则
BASE\u URL
将初始化为
null
,因为
SystemConfiguration.restHost
默认也是
null


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

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

如果在应用程序加载应用程序上下文并从
SystemConfiguration
bean设置字段之前加载了
BaseClass
,则
BASE\u URL
将初始化为
null
,因为
SystemConfiguration.restHost
默认也是
null


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

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

如果在应用程序加载应用程序上下文并从
SystemConfiguration
bean设置字段之前加载了
BaseClass
,则
BASE\u URL
将初始化为
null
,因为
SystemConfiguration.restHost
默认也是
null


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

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

如果在应用程序加载应用程序上下文并从
SystemConfiguration
bean设置字段之前加载了
BaseClass
,则
BASE\u URL
将初始化为
null
,因为
SystemConfiguration.restHost
默认也是
null



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

发现这与将静态变量分配给最终变量有关。我们只是在代码中直接引用了
SystemConfiguration.restHost
,一切正常。我假设SpringBean在此服务器上的加载顺序与其他服务器上的加载顺序不同。

发现这与将静态变量分配给最终变量有关。我们只是在代码中直接引用了
SystemConfiguration.restHost
,一切正常。我假设SpringBean在此服务器上的加载顺序与其他服务器上的加载顺序不同。

发现这与将静态变量分配给最终变量有关。我们只是在代码中直接引用了
SystemConfiguration.restHost
,一切正常。我假设SpringBean在此服务器上的加载顺序与其他服务器上的加载顺序不同。

发现这与将静态变量分配给最终变量有关。我们只是在代码中直接引用了
SystemConfiguration.restHost
,一切正常。我假设SpringBean在这台服务器上的加载顺序与其他服务器上的加载顺序不同。

在任何情况下,您认为在其他三台服务器上,spring加载期间的初始化是正确的吗,在这台服务器上,由于某种原因,它不是吗?@MikeFlynn部署之间有什么不同?没有什么应该是不同的。我无法访问服务器,但没有人告诉我。我可以比较他们给我们的日志和我的日志,看看加载那个类是否有区别,但是因为它是固定的,我不再喜欢它了哈哈。当我说没有区别时,他们的开发服务器也没有区别。我们也有自己的开发服务器和本地环境,而且运行良好。@MikeFlynn我看不出还有什么其他功能。它是一个
最终变量。只能分配一次。如果是
null
,则
SystemConfiguration.restHost
null
。如果为
null
,则表示尚未加载
ApplicationContext
。请考虑使用诸如<代码> @值>代码>。在任何情况下,您是否相信在其他三个服务器中,在加载Spring期间初始化是正确的,并且在这个服务器上,由于某种原因,它不是No?@ MikeFlynn。部署之间有什么不同?什么也不应该是不同的。我无法访问服务器,但没有人告诉我。我可以比较他们给我们的日志和我的日志,看看加载那个类是否有区别,但是因为它是固定的,我不再喜欢它了哈哈。当我说没有区别时,他们的开发服务器也没有区别。我们也有自己的开发服务器和本地环境,而且运行良好。@MikeFlynn我看不出还有什么其他功能。它是一个
最终变量。只能分配一次。如果它是
null
,则
SystemConf