最近优化代码的时候,遇到了个小问题,写了一个公共方法好几个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了。
}
}