Spring Boot使用Value注解給靜態(tài)變量賦值的方法
更新時間:2018年07月18日 14:37:20 作者:Sam
這篇文章主要介紹了Spring Boot使用Value注解給靜態(tài)變量賦值的方法,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
昨天在使用@Value注解給靜態(tài)變量賦值的時候,發(fā)現靜態(tài)變量的值始終是null。后來搜索一下得知其中原因,Spring Boot 不允許/不支持把值注入到靜態(tài)變量中。但是我們可以變通一下解決這個問題。因為Spring Boot 支持set方法注入,我們可以利用非靜態(tài)set方法注入靜態(tài)變量。廢話不多說,貼上我昨天寫的代碼:
@Component
public class CoverImageUtil {
private static String endpoint;
private static String bucketName;
@Value("${oss.endpoint}")
private void setEndpoint(String name){
endpoint = name;
}
@Value("${oss.bucketName}")
private void setBucketName(String name){
bucketName = name;
}
public static String getImage(String path){
if (StringUtils.isEmpty(path)){
return null;
}
// XXX的圖片地址 https://oss.XXX.com/uploads/8F/70/8F70879210F08AAA6F4A04A3D42F3704.jpg
if (path.contains("oss.XXX.com")){
return path;
}
String[] str = path.split(",");
// mt的圖片地址
// key = customer/coverImg/1002,FAFA5EFEAF3CBE3B23B2748D13E629A1,418530,image/jpeg
// url = https://m-t-tesing.oss-cn-hangzhou.aliyuncs.com/customer/coverImg/1002
StringBuilder url = new StringBuilder("https://");
url.append(bucketName)
.append(".")
.append(endpoint)
.append("/")
.append(str[0]);
return url.toString();
}
}
注意
- 代碼中需要@Component注解
- set方法要是非靜態(tài)的
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
基于Jenkins搭建.NET FrameWork持續(xù)集成環(huán)境
這篇文章主要介紹了基于Jenkins搭建.NET FrameWork持續(xù)集成環(huán)境,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2020-08-08
springboot快速搭建ftpserver服務端的詳細步驟
基于springboot,使用ftpserver快速搭建一個FTP服務端,搭建過程很簡單,我們把過程分成4個步驟,一分鐘內快速完成構建,感興趣的朋友跟隨小編一起看看吧2023-11-11
Java中EasyExcel使用自定義Converter處理方法詳解
EasyExcel自定義Converter是指在使用EasyExcel進行Excel讀寫操作時,可以自定義轉換器來處理一些不支持的數據類型,這篇文章主要給大家介紹了關于Java中EasyExcel使用自定義Converter處理的相關資料,需要的朋友可以參考下2024-08-08

