欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

關(guān)于@Value注解取不到值的幾種情況

 更新時(shí)間:2021年11月18日 10:58:43   作者:快樂的小三菊  
這篇文章主要介紹了關(guān)于@Value注解取不到值的幾種情況,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

@Value注解取不到值的幾種情況

spring的框架中,我們經(jīng)常使用@Value注解來獲取定義在application.properties的屬性值,正常情況下是可以輕松的獲取到值的,但是有幾種特殊情況下是獲取不到值的,在這記錄下,以防止以后犯錯(cuò)誤。正常獲取的用法如下:

application.properties中定義一個(gè)屬性值:

正常情況下在代碼里面這樣獲?。?/p>

@Value("${ftpIP}")
private String ftpIP;

幾種獲取不到值的特殊情況如下

情況一:使用static或者final修飾了tagValue

@Value("${ftpIP}")
private static String ftpIP; 
@Value("${ftpUserName}")
private final String ftpUserName;

情況二:用該注解的類上面沒有加注解,即不能被spring管理

public class FTPManagerService { 
 @Value("${ftpIP}")
 private static String ftpIP; 
}

情況三:類被new新建了實(shí)例,而沒有使用@Autowired

public class FTPManagerService { 
 @Value("${ftpIP}")
 private static String ftpIP; 
} 
public class Test{
    /*錯(cuò)誤用法*/
    FTPManagerService  f = new FTPManagerService ();
 
    /*正確用法*/
    @Autowired
    FTPManagerService  f2;
}

@Value取不到值的原因

在springboot中想獲取配置文件中的值,一般的方法為

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

但是取值時(shí),有時(shí)這個(gè)tagvalue為NULL,

可能原因有

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

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

2.類被new新建了實(shí)例,而沒有使用@Autowired

@Component 
class TestValue{
    @Value("${tag}")
    private String tagValue;
} 
class Test{
    ...
    TestValue testValue = new TestValue()

正確方式

1.使用@Autowired注入

2.在controller層注值

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • SpringBoot使用druid配置多數(shù)據(jù)源問題

    SpringBoot使用druid配置多數(shù)據(jù)源問題

    這篇文章主要介紹了SpringBoot使用druid配置多數(shù)據(jù)源問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • java并發(fā)編程專題(六)----淺析(JUC)Semaphore

    java并發(fā)編程專題(六)----淺析(JUC)Semaphore

    這篇文章主要介紹了java JUC)Semaphore的相關(guān)資料,文中示例代碼非常詳細(xì),供大家參考和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 以Java代碼的方式總結(jié)幾個(gè)典型的內(nèi)存溢出案例

    以Java代碼的方式總結(jié)幾個(gè)典型的內(nèi)存溢出案例

    作為程序員,多多少少都會(huì)遇到一些內(nèi)存溢出的場景,如果你還沒遇到,說明你工作的年限可能比較短,或者你根本就是個(gè)假程序員!哈哈,開個(gè)玩笑.今天分享給大家Java內(nèi)存溢出的相關(guān)案例,希望大家在日常工作中,盡量避免寫這些low水平的代碼,需要的朋友可以參考下
    2021-06-06
  • Java圖形用戶界面設(shè)計(jì)(Swing)的介紹

    Java圖形用戶界面設(shè)計(jì)(Swing)的介紹

    看到多數(shù)人提到 Java 就以為是網(wǎng)絡(luò)開發(fā),其實(shí)不是這樣的,Java 也可以開發(fā)應(yīng)用程序,而且可以開發(fā)出漂亮的圖形用戶界面的應(yīng)用程序,因此,我寫下這篇文章,希望能帶你進(jìn)入 Java 圖形用戶界面設(shè)計(jì)之門。
    2016-07-07
  • java書店系統(tǒng)畢業(yè)設(shè)計(jì) 總體設(shè)計(jì)(1)

    java書店系統(tǒng)畢業(yè)設(shè)計(jì) 總體設(shè)計(jì)(1)

    這篇文章主要介紹了java書店系統(tǒng)畢業(yè)設(shè)計(jì),第一步系統(tǒng)總體設(shè)計(jì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-10-10
  • 一文講解如何優(yōu)雅的調(diào)試jar包

    一文講解如何優(yōu)雅的調(diào)試jar包

    在現(xiàn)實(shí)開發(fā)過程中,現(xiàn)場環(huán)境永遠(yuǎn)比開發(fā)環(huán)境復(fù)雜,下面這篇文章主要給大家介紹了關(guān)于如何優(yōu)雅的調(diào)試jar包的相關(guān)資料,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2022-03-03
  • 詳解Spring Cloud Eureka多網(wǎng)卡配置總結(jié)

    詳解Spring Cloud Eureka多網(wǎng)卡配置總結(jié)

    本篇文章主要介紹了詳解Spring Cloud Eureka多網(wǎng)卡配置總結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • Spring?Boot?使用?Disruptor?做內(nèi)部高性能消息隊(duì)列

    Spring?Boot?使用?Disruptor?做內(nèi)部高性能消息隊(duì)列

    這篇文章主要介紹了Spring?Boot?使用?Disruptor?做內(nèi)部高性能消息隊(duì)列,工作中遇到項(xiàng)目使用Disruptor做消息隊(duì)列,對你沒看錯(cuò),不是Kafka,也不是rabbitmq。Disruptor有個(gè)最大的優(yōu)點(diǎn)就是快,還有一點(diǎn)它是開源的哦,下面做個(gè)簡單的記錄
    2022-06-06
  • Java 使用keytool創(chuàng)建CA證書的操作

    Java 使用keytool創(chuàng)建CA證書的操作

    這篇文章主要介紹了Java 使用keytool創(chuàng)建CA證書的操作,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • java避免多層嵌套循環(huán)用到的一些小技巧分享

    java避免多層嵌套循環(huán)用到的一些小技巧分享

    這篇文章主要介紹了java避免多層嵌套循環(huán)用到的一些小技巧分享,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-10-10

最新評論