[英]Cannot resolve @Value(“${xxx:}”) (Spring 4) but can resolve @Value(“${xxx}”)
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類型,因此該值將是一個空字符串。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.