簡體   English   中英

無法解析@Value(“ $ {xxx:}”)(春季4),但可以解析@Value(“ $ {xxx}”)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM