工具类中的静态方法使用spring管理的bean
问题描述:
一般需要在static方法里调用注入进来的service,因为是静态方法,所以必须声明该service也必须是static的,这时候你会发现注入不进来,会报null指针,如图所示。
解决方法
使用构造方法注入
@Slf4j
@Component
public class DictParseUtil {
@Autowired
private static CommonAPI commonAPI;
private static RedisTemplate redisTemplate;
@Autowired
public DictParseUtil(CommonAPI commonAPI,RedisTemplate redisTemplate) {
DictParseUtil.commonAPI = commonAPI;
DictParseUtil.redisTemplate = redisTemplate;
}