springmvc在启动工程的时候就访问数据库,加载一些数据

田野_7 发布于 2016/06/02 16:37
阅读 821
收藏 0

服务启动时,启动一个服务,执行service、dao查询数据,

但是普通的servlet或Listener执行时,service、dao的bean还未创建,

有没有方法解决?具体怎么配置?

加载中
0
LarrySu
LarrySu
在bean标签中加入init-method="init"属性,在加载bean时会执行init方法,将加载数据的代码放到该方法里.
再修改web.xml中相应servlet的load-on-startup,确定执行顺序不就行了?

不知道我有没有理解错..
田野_7
网上找了一个说,实现InitializingBean接口,可以实现。你说的这种方法,我试试看。谢谢!
0
尚浩宇
尚浩宇
package com.yk.test.executor.processor
public class InstantiationTracingBeanPostProcessor implements ApplicationListener<ContextRefreshedEvent> {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
//需要执行的逻辑代码,当spring容器初始化完成后就会执行该方法。
}
}
田野_7
谢谢啊
0
LarrySu
LarrySu

引用来自“LarrySu”的评论

在bean标签中加入init-method="init"属性,在加载bean时会执行init方法,将加载数据的代码放到该方法里.
再修改web.xml中相应servlet的load-on-startup,确定执行顺序不就行了?

不知道我有没有理解错..

效果是相同的.

参考:

http://blog.csdn.net/topwqp/article/details/8681467

http://blog.csdn.net/topwqp/article/details/8681573

田野_7
谢谢
0
beyondforever68
beyondforever68
spring boot 的话用ContextRefreshedEvent比较方便
田野_7
不太懂,我试试。谢谢
返回顶部
顶部