gpt4 book ai didi

java - 无法解析 @Value ("${xxx:}")(Spring 4),但可以解析 @Value ("${xxx}")

转载 作者:行者123 更新时间:2023-12-02 01:50:31 33 4
gpt4 key购买 nike

import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
public class ServiceTest {
public static String coreIp;
public static String corePort;

@Value("${core_ip}")
private void setcoreIp(String coreIp) {
ServiceTest.coreIp = coreIp;
}
@Value("${core_port:}")
private void setcorePort(String corePort) {
ServiceTest.corePort = corePort;
}
}

我可以获取 coreIp 的值,但无法获取 corePort 的值。这段代码存在于 Spring 中。当我删除@Value中的':'时,它起作用了。当我将此代码移至 Spring MVC 时,它可以工作并且我可以获得这两个值。

Spring和SpringMVC在解析@Value时有什么区别吗?

有什么建议吗?

最佳答案

问题在于 SpEL ${core_port:} 期望为 core_port 属性提供默认值。因此,要么为 core_port 提供默认值(例如 ${core_value:3000}),要么通过删除分号来重命名您的属性。

编辑:

由于您的core_port是String类型,因此该值将为空字符串。

关于java - 无法解析 @Value ("${xxx:}")(Spring 4),但可以解析 @Value ("${xxx}"),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53042780/

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