为了账号安全,请及时绑定邮箱和手机立即绑定

为什么我的setApplicationContext方法在初始化的时候没有被调用啊?

public class TestImp implements ApplicationContextAware{


public void init(){

System.out.println("-----init-----");

}


@Override

public void setApplicationContext(ApplicationContext arg0)

throws BeansException {

System.out.println("ssss");

}

}

配置肯定是对的 可以执行初始化的方法 也成功获得了bean的对象 就是不执行setApplicationContext方法  help~~


正在回答

4 回答

我也碰到了这个问题

用DefaultListableBeanFactory实现的容器实例化对象时不会调用ApplicationContextAware方法

改用ClassPathXmlApplicationContext实现的容器则没问题。

不知道为何Spring提供两种容器的实现类,功能看起来差不多。

0 回复 有任何疑惑可以回复我~
#1

Needsomewater

我用的springboot,也出现了调用这个问题,你知道怎么解决么,全部用的注解
2017-11-20 回复 有任何疑惑可以回复我~

看log

0 回复 有任何疑惑可以回复我~

看你检查一下你bean的class的地址是否正确,和方法里调用的ID是否正确

如果正确不会有错

0 回复 有任何疑惑可以回复我~

如果bean被正常初始化一定会执行setApplicationContext的方法。

给的信息太少了,也没看到其余的类和xml是怎么写的。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

为什么我的setApplicationContext方法在初始化的时候没有被调用啊?

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信