我們知道,正常情況下,spring的乙個bean要依賴其他資源,如properties或其他bean,直接利用@value或@autowired就可以了。這兩個註解就相當於spring application context xml檔案定義bean時的property節點。相當於呼叫程式設計客棧了每個屬性的set方法。
haeexchook.name}"/>
然而,當乙個j**a類裡的靜態方法需要引用乙個spring資源時,我們需要定義靜態屬性,然後通過顯示宣告它們的set方法(注意,這個set方法是非靜態的哦),來實現靜態屬性的注入。
見如下示例**,其中dingdingreceiverman屬性的set方法通過@value註解來注入乙個配置
「monitor_log.dingding.receiverman」;redisutil屬性的set方法通過@autowired註解來注入乙個bean——被@component修飾的類「redisutil」。
@component
@slf4j
public class sendwhaeexcharningmessage ")
public void setdingdingreceiverman(string value)
@autowired
public void setredisutil(redisutil value)
public static void sendmsg(string mobile, string msg) ", mobile);
} else ", warningmsg);
dingdingutil.senddingding(dingdingreceiverman, warningmsg);
redisutil.set(rediskey, warningmsg, 5 * 60);
}...
}}
Spring 靜態類注入
用過spring的都知道我們在dao service層加上 repository service就能將這兩個物件交給spring管理,在下次使用的時候使用 resource 或者 autowired 就可以拿到而不需要自己去new就可以使用dao層方法。但是在控制層必須加上 controller才能...
靜態屬性 類方法
之前學過乙個技巧叫裝飾器,有乙個類提供的方法叫property,他可以封裝你寫的邏輯,然後讓使用者呼叫的時候完全感知不到在呼叫後端的什麼邏輯 class shuichi def init self,chang,kuan,gao self.chang chang self.kuan kuan self...
靜態屬性 類方法 靜態方法
靜態屬性 既可以訪問例項屬性也可以訪問類屬性 self 1 靜態屬性 資料屬性 2 class room 3 def init self,name,owner,width,length,height 4 self.name name 5 self.owner owner 6 self.width w...