最近優化代碼的時候,遇到了個小問題,寫了一個公共方法好幾個controller要使用,所以要提取工具類,但是涉及到了static的工具類中通過sprin注入對象問題。然后查了度娘得出解決辦法,上代碼記錄一下。
需要加上@component注解把工具類讓spring掃描到,bean交給spring管理
@Component
public class StaticUtils {
這里是需要注入的對象使用@resource交給spring來注入
@Resource
private FaceTest faceTest;
聲明一個本靜態工具類對象
private static StaticUtils staticUtils;
加入注解@postcontruct來初始化這個bean
@PostConstruct
public void init(){
staticUtils=this;
staticUtils.faceTest=this.faceTest;
}
因為工具方法大多都是靜態方法 要使用注入的對象就需要賦值給當前靜態類
public static List<FaceTest> getFaceTest(){
List<FaceTest> list=staticUtils.faceTest.query();
return list;
這樣就ok了。
}
}
