@Value取不到值的原因(引用application.properties中自定義的值)


在spring mvc架構中,如果希望在程序中直接使用properties中定義的配置值,通常使用一下方式來獲取:

@Value("${tag}")
private String tagValue;

但是取值時,有時這個tagvalue為NULL,可能原因有:

1.使用static或final修飾了tagValue,如下:

private static String tagValue; //錯誤
private final String tagValue; //錯誤

2.類沒有加上@Component(或者@service等)

@Component //遺漏
class TestValue{
    @Value("${tag}")
    private String tagValue;
}

3.類被new新建了實例,而沒有使用@Autowired

@Component 
class TestValue{
    @Value("${tag}")
    private String tagValue;
}

class Test{
    ...
    TestValue testValue = new TestValue()
}

 

正確方式: 上面這個testValue中肯定是取不到值的,必須使用@Autowired

class Test{
    @AutoWired
    TestValue testValue
}

 

版權聲明: 本文有 ```...襇簞點 發表於 bloghome博客

轉載聲明: 可自由轉載、引用,但需要屬名作者且注明文章出處。

文章鏈接: https://www.bloghome.com.cn/user/yysblog

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM