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

spring 如何將配置信息注入靜態(tài)變量的方法

 更新時(shí)間:2018年06月12日 14:06:33   作者:myskies  
本篇文章主要介紹了spring 如何將配置信息注入靜態(tài)變量的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來(lái)看看吧

我們學(xué)習(xí)過將配置信息,通過@Value()的方法注入到對(duì)象的變量。這是由于對(duì)象是由spring來(lái)托管的。那么非spring如果,我們需要在靜態(tài)方法中,使用配置文件中的值,又該怎么做呢?

傳統(tǒng)的錯(cuò)誤作法

application.properties

spring.redis.host=test
@Component
public class RedisServiceImpl implements RedisService {
  ...
  @Value("${spring.redis.host}")
  static public String host;
  
  @Value("${spring.redis.port}")
  static public Integer port;
  ...
  
   static public JedisPool getJedisPool() {
    if (RedisServiceImpl.host == null) {
      logger.info("host 未注入");
    }
  }

控制臺(tái)打印為: "host 未注入

正確的方法

@Component
public class RedisServiceImpl implements RedisService {
  ...
  static public String host;
  static public Integer port;
  
    @Value("${spring.redis.host}")
  public void setHost(String host) {
    RedisServiceImpl.host = host;
  }

  @Value("${spring.redis.port}")
  public void setPort(Integer port) {
    RedisServiceImpl.port = port;
  }
  ...
  
   static public JedisPool getJedisPool() {
    if (RedisServiceImpl.host == null) {
      logger.info("host 未注入");
    } else {
      logger.info("host 值為" + RedisServiceImpl.host);
    }
  }

控制臺(tái)正確的打印了注入的值。

原因猜想

spring進(jìn)行組件掃描,遇到@Component時(shí),初始化對(duì)象 RedisServiceImpl, 初始化過程中,掃描到@Value注解,將值注入給方法。

接著,方法將值傳給了RedisServiceImpl類,故RedisServiceImpl有值 -- 正解。

如果將@Value(),直接加到靜態(tài)私有變量上,則在初始化對(duì)象時(shí),由于靜態(tài)私有變量屬于類,所以spring未對(duì)類進(jìn)行操作 -- 錯(cuò)誤。

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java學(xué)習(xí)筆記:關(guān)于Java?double類型相加問題

    Java學(xué)習(xí)筆記:關(guān)于Java?double類型相加問題

    這篇文章主要介紹了關(guān)于Java?double類型相加問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • SpringMVC中的DispatcherServlet結(jié)構(gòu)和初始化詳解

    SpringMVC中的DispatcherServlet結(jié)構(gòu)和初始化詳解

    這篇文章主要介紹了SpringMVC中的DispatcherServlet結(jié)構(gòu)和初始化詳解,SpringMVC中Spring容器的關(guān)系是通過監(jiān)聽方式啟動(dòng)的,那么Spring與Servlet的Web容器(如:Tomcat、jetty)的關(guān)系則是通過DispatcherServlet進(jìn)行關(guān)聯(lián),需要的朋友可以參考下
    2024-01-01
  • Java設(shè)計(jì)模式之適配器模式的示例詳解

    Java設(shè)計(jì)模式之適配器模式的示例詳解

    適配器模式,即將某個(gè)類的接口轉(zhuǎn)換成客戶端期望的另一個(gè)接口的表示,主要目的是實(shí)現(xiàn)兼容性,讓原本因?yàn)榻涌诓黄ヅ?,沒辦法一起工作的兩個(gè)類,可以協(xié)同工作。本文將通過示例詳細(xì)介紹適配器模式,需要的可以參考一下
    2022-02-02
  • SpringBoot之自定義Banner詳解

    SpringBoot之自定義Banner詳解

    這篇文章主要介紹了SpringBoot之自定義Banner詳解,本篇文章通過簡(jiǎn)要的案例,講解了該項(xiàng)技術(shù)的了解與使用,以下就是詳細(xì)內(nèi)容,需要的朋友可以參考下
    2021-09-09
  • SpringMVC響應(yīng)視圖和結(jié)果視圖詳解

    SpringMVC響應(yīng)視圖和結(jié)果視圖詳解

    這篇文章主要介紹了SpringMVC響應(yīng)視圖和結(jié)果視圖,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • java和c/c++ 數(shù)據(jù)類型長(zhǎng)度的比較

    java和c/c++ 數(shù)據(jù)類型長(zhǎng)度的比較

    本篇文章主要是對(duì)java和c/c++ 數(shù)據(jù)類型長(zhǎng)度的進(jìn)行了詳細(xì)的比較。需要的朋友可以過來(lái)參考下,希望對(duì)大家有所幫助
    2014-01-01
  • JAVA中的OutputStreamWriter流解析

    JAVA中的OutputStreamWriter流解析

    這篇文章主要介紹了JAVA中的OutputStreamWriter流解析,OutputStreamWriter提供了一種方便的方式將字符數(shù)據(jù)寫入到輸出流中,并進(jìn)行字符編碼轉(zhuǎn)換,它是Java中處理字符流和字節(jié)流之間轉(zhuǎn)換的重要工具之一,需要的朋友可以參考下
    2023-10-10
  • Java線程池隊(duì)列PriorityBlockingQueue原理分析

    Java線程池隊(duì)列PriorityBlockingQueue原理分析

    這篇文章主要介紹了Java線程池隊(duì)列PriorityBlockingQueue原理分析,PriorityBlockingQueue隊(duì)列是?JDK1.5?的時(shí)候出來(lái)的一個(gè)阻塞隊(duì)列,但是該隊(duì)列入隊(duì)的時(shí)候是不會(huì)阻塞的,永遠(yuǎn)會(huì)加到隊(duì)尾,需要的朋友可以參考下
    2023-12-12
  • SpringBoot項(xiàng)目中@Test不出現(xiàn)可點(diǎn)擊運(yùn)行的按鈕問題

    SpringBoot項(xiàng)目中@Test不出現(xiàn)可點(diǎn)擊運(yùn)行的按鈕問題

    這篇文章主要介紹了SpringBoot項(xiàng)目中@Test不出現(xiàn)可點(diǎn)擊運(yùn)行的按鈕問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java實(shí)現(xiàn)的小時(shí)鐘示例分享

    java實(shí)現(xiàn)的小時(shí)鐘示例分享

    這篇文章主要介紹了java實(shí)現(xiàn)的小時(shí)鐘示例,需要的朋友可以參考下
    2014-02-02

最新評(píng)論

商丘市| 湟源县| 罗田县| 马山县| 中宁县| 内黄县| 涿州市| 庐江县| 米林县| 宁蒗| 江川县| 汽车| 新竹县| 和平区| 思南县| 鹤峰县| 阳谷县| 杭锦后旗| 台南市| 红河县| 古田县| 买车| 防城港市| 政和县| 澎湖县| 南安市| 江孜县| 闻喜县| 福建省| 资中县| 礼泉县| 阳曲县| 东乌珠穆沁旗| 南昌县| 大新县| 湖口县| 白城市| 清新县| 宁河县| 修水县| 涞水县|