工具类(类)中使用ApplicationContext获取bean包空指针

在项目开发中,遇到一个工具类MsgTools无法通过ApplicationContext注入bean的问题,由于ApplicationContext在加载MsgTools时还未被Spring代理,导致注入失败。解决方案是确保ApplicationContext先由Spring管理并注入,之后再加载MsgTools。具体实现代码未给出。
摘要由CSDN通过智能技术生成

项目中遇到这样一个问题,当时是要写一个工具类,里面有这样的一段话,
MsgTools是工具类,里面有一个属性applicationContext

MsgTools.applicationContext
          .getBean(com.cheshangma.operation.wx.service.internal.WeChatServiceImpl.class)

但这样会报错,applicationContext一直是null,不能注入进来,听公司大牛解释就是,加载MsgTools类时,ApplicationContext类还没有被spring代理加载,所以不能注入进MsgTools这个类里面.解决的思路就是要让ApplicationContext这个类先被spring先管理注入,然后在去加载管理MsgTools这个类.

代码如下

package com.cheshangma.operation.wx.common.utils;

import java.util.HashMap;
import java.util.Map;

import org.apache.log4j.Logger;
import org.springframework.beans.BeansException;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationContextAware;
imp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值