【Spring】容器初始化和注入问题,@AutoWired注入的对象执行方法报空指针问题

在Spring框架中,使用@Autowired注解时遇到对象方法执行报空指针异常,原因是静态属性在容器初始化阶段被加载,而此时@Autowired的对象还未完全初始化。解决方案是避免在静态方法或静态属性中调用依赖注入的对象方法。
摘要由CSDN通过智能技术生成

@Autowired注入的对象执行方法报空指针

为什么,正常来说是有这个对象的,输出相关日志发现在用到一些变量的时候会导致这个问题。
那就是加了@Service,@Controller,@Component的注解后的类的静态属性,(也就是加了static关键字,属于这个类的成员变量)。

比如读取本地配置的environment变量

public class A{
   

	private static Environment env;
   
	@Autowired
	public void set(Environment environment) {
   
		A.env
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值