spring完全启动后想去执行我的初始化程序,怎么搞?
有没有spring listener可以做?高手帮忙
有没有spring listener可以做?高手帮忙
解决方案 »
- 海康视频怎么能再jsp html页面中实现在线播放
- CXF客户端如何接收服务端的复杂对象
- 我想學一下STRUTS2,有用過的進來介紹下謝謝
- struts获取 Ext2.2提交的Form问题
- JSP配什么后台数据库好?
- weblogic部署项目报java.lang.ClassNotFoundException
- jsp链接数据库出现错误,那位给看看~~
- Spring hibernate mysql No operations allowed after statement closed
- 如何通过Servlet传递表单到另一个JSP ?
- 哪有完整版的《JSP高级编程》,网上的都只有前五章?
- javax.mail.MessagingException
- 求代码格式化脚本
可以配置在spring的启动程序之后。
继承那个listener 在那add listener?
humor200 :
servlet 是多线程执行,如果配置在web config可能出现spring还没启动完,我的初始化程序就已经完成的情况。
数据缓存、系统全局参数。我要访问数据库,所以要spring启动以后获取spring管理的bean.
org.springframework.web.context.ContextLoaderListenerpublic class StartupListener extends ContextLoaderListener implements
ServletContextListener {
@Override
public void contextInitialized(ServletContextEvent event) { }
在web.xml文件里加上这个:
<listener>
<listener-class>
com.centit.app.web.StartupListener
</listener-class>
</listener>
你们说的都是可以的。可是应该是我没说清楚,呵呵 不好意思。
我tomcat下配置了struts2 和 spring ,我想当tomcat 成功启动后做我的操作。
方法放在struts2线程 或spring线程都是不行的,如:放在struts 线程里可能spring没有启动成功;如果放在spring线程里 ActionContext.getContext()可能是null 。
想想为什么拿ActionContext.getContext()那,event.getServletContext()不是也可以嘛。呵呵 谢谢
@Component
public class SysInitBean implements InitializingBean,ServletContextAware{
public void afterPropertiesSet() throws Exception {
//你的初始化代码
}
}实现InitializingBean接口就可以获取spring的所有配置信息。
实现ServletContextAware,可以获得servletcontext,
我这是spring2.5用注释的方式,如果是早期版本,就不能用
@Component注解了,直接在xml里配置这个bean就行了,系统自动调用。