成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

SpringBoot中靜態變量注入方案,一網打盡

開發 前端
昨天同事來找我。說自己想使用@Value注解來注入值,但是發現注入不進去,想讓我幫忙看看。研究了一番,最后發現是@Value注解無法注入靜態變量。下面我們一起來回顧一下本次的bug。

[[431987]]

前言

Hi,大家好,我是麥洛,昨天同事來找我。說自己想使用@Value注解來注入值,但是發現注入不進去,想讓我幫忙看看。研究了一番,最后發現是@Value注解無法注入靜態變量。下面我們一起來回顧一下本次的bug。

普通變量

首先我們來看看。如何給普通變量注入值?

例如,application-dev.yml 配置文件有如下配置:

給普通變量賦值時,直接在變量聲明之上添加@Value()注解即可,如下所示:

這個大家應該很熟悉了,這里就不再贅述。

靜態變量

我們來看看昨天的問題,我們想給項目中的文件上傳封裝一個工具類。阿里云oss的相關信息我們配置在配置文件中,需要將信息注入到工具類中的變量。為了方便直接使用變量,我們把把變量定義為靜態變量。當要給靜態變量注入值的時候,若是在靜態變量聲明之上直接添加@Value()注解是無效的。如下圖所示。

解決方案

方案一

若要給靜態變量賦值,可以使用set()方法注入。

  1. 類上加入@Component注解
  2. @Value注解標記set方法
  3. 方法名(例如setOssUrl)和參數名(例如ossUrl)可以任意命名

如下所示:

方案二

如果你覺得@value注解麻煩。可以使用@ConfigurationProperties注解代替,這樣比較簡潔

  1. 前綴要寫合適
  2. 方法名(例如setOssUrl)必須和屬性保持一致,例如寫為setUrl()會注入失敗
  3. 類上加入@Component注解

方案三

  1. 類上加入@Component注解
  2. @PostConstruct注解修飾的方法中進行賦值操作

使用場景

那么問題來啦!我們什么場景下需要把值注入到靜態變量?

場景一

場景二

工具類中將值注入靜態變量,就可以直接在靜態方法之中使用,我本文中遇到的正是這個場景

總結

本文中,我們從一個實際問題出發,探尋了三種在springboot中靜態變量注入方案,希望對大家有所幫助。

本文轉載自微信公眾號「愛寫Bug的麥洛」

 

責任編輯:姜華 來源: 愛寫Bug的麥洛
相關推薦

2024-04-26 00:25:52

Rust語法生命周期

2021-08-05 06:54:05

流程控制default

2019-07-24 15:30:00

SQL注入數據庫

2024-02-27 10:11:36

前端CSS@規則

2021-10-11 07:55:42

瀏覽器語法Webpack

2013-08-02 10:52:10

Android UI控件

2024-04-07 08:41:34

2024-08-26 10:01:50

2024-06-12 00:00:05

2010-08-25 01:59:00

2011-12-02 09:22:23

網絡管理NetQos

2013-10-16 14:18:02

工具圖像處理

2023-04-06 09:08:41

BPM流程引擎

2024-02-23 08:14:01

項目開發Spring

2024-06-24 12:51:50

2021-05-20 11:17:49

加密貨幣區塊鏈印度

2023-09-06 18:37:45

CSS選擇器符號

2020-02-21 08:45:45

PythonWeb開發框架

2023-04-03 08:30:54

項目源碼操作流程

2023-09-26 00:29:40

CSS布局標簽
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久亚洲国产精品日日av夜夜 | 91亚洲国产成人精品一区二三 | 亚洲色欧美另类 | 麻豆av免费观看 | 免费三级av| 国产精品伦理一区二区三区 | 久久久久久高潮国产精品视 | 国产精品久久久久久久毛片 | 欧美另类视频 | 国产激情一区二区三区 | 美女久久久久久久久 | 亚洲国产欧美在线 | 欧美一极视频 | 久久久精| 蜜桃久久 | 亚洲美女视频 | 日韩精品极品视频在线观看免费 | 在线观看视频91 | 欧美久久久久久 | 国产欧美精品一区二区三区 | 国产区在线观看 | 亚洲成人免费视频 | 亚洲国产一区二区视频 | 欧美大片久久久 | av免费网站在线观看 | 91在线精品视频 | 99re66在线观看精品热 | 成人亚洲 | 中文字幕99| 成年视频在线观看 | 色.com| 亚洲精品电影网在线观看 | 国产精品久久久久久52avav | 免费的网站www | 狠狠色综合网站久久久久久久 | 亚洲欧美视频一区二区 | 精品国产欧美日韩不卡在线观看 | 欧美激情精品久久久久久免费 | 亚洲一区二区在线播放 | h在线免费观看 | 日韩欧美国产一区二区 |