spring 注入以及监听问题

MelodyLin 发布于 2013/05/17 21:03
阅读 448
收藏 0

做项目的时候用到了spring,现在需要再项目启动时加载一个类,但是该类中用到了dao对象。

监听器中的dao对象是由spring注入的,问题出在tomcat 启动时,先启动监听,再启动 spring 容器并注入相应的bean ,所以启动监听时访问到的dao 对象是null,这时会报一个dao对象的空指针异常。

万分焦急,不知道大家是否有好的解决方法QAQ?


加载中
0
skyline520
skyline520
给你贴几张图 你应该一看就明白了



在 这个afterPropertiesSet 中调用你的dao 执行数据库操作就行了
MelodyLin
MelodyLin
回复 @skyline520 : 试过了,不知道是不是我方法的问题……还是不行
MelodyLin
MelodyLin
回复 @skyline520 : 看上去是个好方法!我去尝试一下
skyline520
skyline520
回复 @MelodyLin : 这个是spring bean 实现 InitiallizingBean,然后有个afterPropertiesSet方法,在你的bean 所有的属性 都注入完之后才会调用这个方法,你可以把dao 或者 调用数据库service 注入到这个bean中,然后再afterPropertiesSet方法里面调用就可以了,这时的数据库dao 肯定不是null了
MelodyLin
MelodyLin
不好意思,我是spring初学者,是结合lucene做一个子系统。我没太看清楚你的图片~~能解释一下不?22岁的女生感觉做程序猿真的好辛苦QAQ
0
巴顿
巴顿

spring 容器并注入相应的bean,话说你是在xml文件里面配置bean的吧?

可不可以在要加载的类里面使用注解的方式注入bean呢?或者直接new一个dao对象.

巴顿
巴顿
回复 @MelodyLin : 捉到一只女程序媛!能实现就好啦!我右边的同事是女的~小组里面的核心人物啊~
MelodyLin
MelodyLin
能,昨晚半夜也用这个方法,是可以解决了,但是觉得比较暴力= =
0
huan
huan
奇怪,既然这个类要用到spring的环境,为什么不把这个类的加载和初始化让spring来做呢?
返回顶部
顶部