场景:
开发过程中,某些静态类方法需要调用已有服务进行辅助处理,如调用service层查询数据库等,而spring不支持基于注入静态变量,常规注入写法执行时,service变量出现空指针异常,因此需要处理静态类进行支持,总计做如下四点操作处理,可实现正常使用。
操作1:静态类添加,@Component 注解,标记扫描,并注入要使用的方法
@Component
public class RegexUtils{
@Autowired
private RuleService ruleService;
}
操作2:增加一行当前类对象声明
private static RegeXUtils regeXUtils;
操作3:添加初始化当前对象
@PostConstruct
public void init() {
regeXUtils= this;
}
操作4:方法调用,静态类对象.注入类变量名.注入类的方法(参数)
public static String testMethod(String v1){
...
value = regexUtils.ruleService.queryMsg(String v1);
...
}