Springboot使用@Autowired注解静态对象

在编写一个工具类的时候,需要用到静态对象service,按照平常一样,使用@Autowired注入,调用方法,却发现控制台报了空指针异常。


public class SftpUtil {
	@Autowired
    private static ExternalService externalService;

报错的原因,与使用静态变量经常出错的原因一样,类加载静态变量,@Autowired注入的service还没加载。


解决方法:


1、@Autowired注解setter方法


public class SftpUtil {
	
    private static ExternalService externalService;
	@Autowired
	public void setExternalService(ExternalService externalService) {
        SftpUtil.chatRecodeService = chatRecodeService;
    }

2、@Autowired 注解构造函数


public class SftpUtil {
	
    private static ExternalService externalService;
	@Autowired
	public SftpUtil(ExternalService externalService) {
        SftpUtil.chatRecodeService = chatRecodeService;
    }
上一篇:spirngboot整合webservice入门(@Autowired 无法注入问题)


下一篇:Kruskal板子