如何給靜態變數使用 Value的注入方式進行初始化

2021-08-22 02:33:12 字數 353 閱讀 6929

使用@value註解,給static型別的變數進行複製的時候如果單純這樣寫,

@value("$")

public static string murl;

程式執行的以後就會發現這個murl的值是空的,靜態變數沒有賦值成功

spring是不鼓勵給靜態變數賦值的,但是同時也給出了解決方案,即把@value的註解放在靜態變數的set方法上,就可以給靜態變數初始化賦值了,如下

public static string murl;

@value("$")

public void setmurl(string url)

Value 給靜態變數賦值

value可以直接獲取配置檔案裡的配置資訊 今天給靜態變數賦值的時候為null,一查才發現 value不能直接給靜態變數賦值。需要做如下變通 把註解放在變數的set方法上面 注意set方法不能用static修飾 private static string enc path private stati...

spring 如何給靜態變數注入值

有一次在專案中有乙個工具類的屬性是static,我造仿別人的注入方式也試著給我自己在工具類裡定義的變數進行注入,結果發現變數還是null,倒騰了半天都沒倒騰出來。正好在下班的時候靈光一閃,發現是不是因為變數是static的原因導致spring忽略掉次變數。因為靜態變數不屬於物件,只屬於類,也就是說在...

解決 Value註解不能為靜態變數賦值

已經多次遇到這個問題,老是忘記了,記錄一下。使用了spring的 value註解,但是沒有賦值成功,value private static string integraionurl 但是最後沒有拿到值,查了下資料發現 value註解為靜態變數賦值是只需在set方法上使用 value即可,如下 pr...