SpringBoot中@Component注解无法使用@Autowired注解的问题

SpringBoot中@Component注解无法使用@Autowired注解的问题

一、问题原因

springboot 项目中某些情况下@Component注解下@Autowired的类为null的情况,也就是没注入成功,或者是此类在bean加载之前就被调用了。

二、解决办法

问题代码

redisService为空导致空指针异常

@Component
public class TestUtil{
	@Autowired
	private RedisService redisService;

	public void test(){
		String key = "";
		String value = "";
		redisService.setObjectCache(key,value);
	}
}

问题解决

亲测有效

@Component
public class TestUtil{

	private static RedisService redisService;
	
	@Autowired
    public void setRedisService (RedisService redisService){
        TestUtil.redisService= redisService;
    }
	
	public void test(){
		String key = "";
		String value = "";
		redisService.setObjectCache(key,value);
	}
}
上一篇:Spring注入方式


下一篇:16-@Resource和@Autowired注解的区别?