這個問題看起來有點奇怪。假設我有一個服務,我想在具有一些靜態方法的Utility類中使用。該服務是一個Spring bean,很自然我會使用setter和(@Autowired)將它注入我的實用類。如在Spring的文檔中提到的,所有bean在bean上下文中都是靜態的。所以當你想在一個類中注入一個bean時,你不必使用「static」修飾符。請看下圖:在靜態方法中使用注入bean的正確方法是什麼?
public class JustAClass{
private Service service;
public void aMethod(){
service.doSomething(....);
}
@Autowired
public void setService(Service service){
this.service = service;
}
}
現在回到了我第一個提到的(靜態方法使用Service):
public class JustAClass{
private static Service service;
public static void aMethod(){
service.doSomething(....);
}
@Autowired
public void setService(Service service){
this.service = service;
}
}
雖然服務是靜態的,我不得不把靜態的定義後面。這對我來說有點反直覺。這是錯的嗎?還是更好的方法? 謝謝
這是很好的,對我的作品! – Kaunteya
這是否會定期完成?或者在這些情況下通常採用不同的方法? –