最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決在SpringBoot中使用@Value取不到值的問題

 更新時間:2023年09月18日 11:36:54   作者:何不語i  
這篇文章主要給大家分享解決在SpringBoot中使用@Value取不到值的問題,文中有詳細(xì)的解決代碼供大家參考,具有一定的參考價值,需要的朋友可以參考下

SpringBoot中使用@Value取不到值

一.場景

PoolSchedulerConfig類的taskPackage字段通過Value注解讀取配置文件application.properties中的值,并將taskPackage字段得到的值在構(gòu)造器中通過某種方法處理后再將其賦給另一個數(shù)值taskNum,但是失敗了,如下圖所示。

universe.thread.pool.scheduler.taskPackage=com.temperature.humidity.system.schedule.task

二.排查問題

從網(wǎng)上查找資料可知有三種情況導(dǎo)致@Value獲取不到配置值

  • 類沒有使用@Component及其衍生標(biāo)簽修飾
  • 變量被關(guān)鍵字static修飾
  • 在Bean初始化時構(gòu)造方法中引用被@Value修飾的變量

三.解決問題

很顯然我們這種情況是第三種,這是因為使用@Value進行注入值的時候,只有在使用實例的時候才會注入。

那既然只有在使用實例的時候才會注入,這樣我們就想起了可以實現(xiàn)InitializingBean接口并重寫其afterPropertiesSet方法來達到此目的,因為在spring的bean的生命周期中,實例化->生成對象->屬性填充后會進行afterPropertiesSet方法。

package com.temperature.humidity.system.config.thread;
import cn.hutool.core.util.ClassUtil;
import lombok.Data;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
@Component
@Data
public class PoolSchedulerConfig implements InitializingBean {
    /**
     * 含有定時任務(wù)的包
     * 使用@Value進行注入值的時候,只有在使用實例的時候才會注入。
     */
    @Value("${universe.thread.pool.scheduler.taskPackage}")
    private String taskPackage;
    /**
     * 任務(wù)數(shù)
     */
    private Integer taskNum;
    /**
     * 在spring的bean的生命周期中,實例化->生成對象->屬性填充后會進行afterPropertiesSet方法,
     */
    @Override
    public void afterPropertiesSet() {
        //通過掃描定時任務(wù)包下的類數(shù)量=定時任務(wù)的數(shù)量=線程的數(shù)量
        this.taskNum = ClassUtil.scanPackage(this.taskPackage).size();
    }
}

四.測試

接著我們開始測試如下圖所示taskPackage和taskNum的數(shù)值都有了,則證明已測試成功,如下圖所示。

到此這篇關(guān)于解決在SpringBoot中使用@Value取不到值的問題的文章就介紹到這了,更多相關(guān)SpringBoot使用@Value取不到值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • springboot讀取resource配置文件生成容器對象的示例代碼

    springboot讀取resource配置文件生成容器對象的示例代碼

    這篇文章主要介紹了springboot讀取resource配置文件生成容器對象的示例代碼,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-07-07
  • java枚舉是如何保證線程安全的

    java枚舉是如何保證線程安全的

    這篇文章主要介紹了java枚舉是如何保證線程安全的。Java SE5提供了一種新的類型-Java的枚舉類型,關(guān)鍵字enum可以將一組具名的值的有限集合創(chuàng)建為一種新的類型,而這些具名的值可以作為常規(guī)的程序組件使用,這是一種非常有用的功能。,需要的朋友可以參考下
    2019-06-06
  • java實現(xiàn)超大文件的讀寫功能

    java實現(xiàn)超大文件的讀寫功能

    這篇文章主要為大家詳細(xì)介紹了java實現(xiàn)超大文件的讀寫功能,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-05-05
  • Java MyBatis 多表查詢詳解

    Java MyBatis 多表查詢詳解

    這篇文章主要給大家介紹了關(guān)于MyBatis如何實現(xiàn)多表查詢(多對一、一對多)的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)
    2021-09-09
  • Java之int和string類型轉(zhuǎn)換詳解

    Java之int和string類型轉(zhuǎn)換詳解

    這篇文章主要介紹了Java之int和string類型轉(zhuǎn)換詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • SpringCloud Gateway之StripPrefix的使用方式

    SpringCloud Gateway之StripPrefix的使用方式

    這篇文章主要介紹了SpringCloud Gateway之StripPrefix的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-06-06
  • 全面了解Java中Native關(guān)鍵字的作用

    全面了解Java中Native關(guān)鍵字的作用

    下面小編就為大家?guī)硪黄媪私釰ava中Native關(guān)鍵字的作用。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-07-07
  • Java中int與Integer的區(qū)別詳解及常見問題解決

    Java中int與Integer的區(qū)別詳解及常見問題解決

    在Java編程語言中int和Integer雖然都用于表示數(shù)值,但它們之間存在著顯著的區(qū)別,這篇文章主要介紹了Java中int與Integer的區(qū)別詳解及常見問題的相關(guān)資料,需要的朋友可以參考下
    2025-07-07
  • 關(guān)于maven本地倉庫的配置方式

    關(guān)于maven本地倉庫的配置方式

    這篇文章主要介紹了關(guān)于maven本地倉庫的配置方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Java之WeakHashMap源碼淺析

    Java之WeakHashMap源碼淺析

    這篇文章主要介紹了Java之WeakHashMap源碼淺析,WeakHashMap從名字可以得知主要和Map有關(guān),不過還有一個Weak,我們就更能自然而然的想到這里面還牽扯到一種弱引用結(jié)構(gòu),因此想要徹底搞懂,我們還需要知道四種引用,需要的朋友可以參考下
    2023-09-09

最新評論

休宁县| 桐城市| 茂名市| 民勤县| 门源| 衡阳县| 云和县| 大理市| 北碚区| 齐齐哈尔市| 广西| 青神县| 中超| 恩施市| 耒阳市| 余干县| 涪陵区| 中山市| 玛多县| 军事| 台中县| 左云县| 大渡口区| 普格县| 增城市| 山丹县| 乐至县| 张掖市| 铜梁县| 汕头市| 鄂温| 锦屏县| 怀仁县| 惠来县| 阜新市| 云林县| 寿光市| 青铜峡市| 南城县| 乌兰浩特市| 临汾市|