关于spring和ServletContextListener

J2EE 码拜 9年前 (2015-04-06) 1203次浏览 0个评论
 

ServletContextListener在sping之前启动,如果在ServletContextListener里启动一些东西,那这些东西都不能用spring的注入了,有没有好办法呀

关于spring和ServletContextListener
10分
这有影响吗?
关于spring和ServletContextListener
有啊,ServletContextListener启动的时候,spring还没有启动,所以你在contextInitialized里启动的东西,都不能使用spring的注入
关于spring和ServletContextListener
引用 1 楼 fangmingshijie 的回复:

这有影响吗?

有啊,ServletContextListener启动的时候,spring还没有启动,所以你在contextInitialized里启动的东西,都不能使用spring的注入

关于spring和ServletContextListener
引用 1 楼 fangmingshijie 的回复:

这有影响吗?

spring新手,第一天使用,把以前的项目移植到spring框架,诸多问题

关于spring和ServletContextListener
20分
那就在ServletContextListener.contextInitializedcontextInitialized(ServletContextEvent servletContextEvent)不要使用spring注入。一般来说ServletContextListener启动的时候只是做一些初始化的工作,或者初始化一些常量/memcache,或者把库里的信息放到内存之中;这些操作一般没有必要用spring注入来实现;
如果实在有些创建实例的工作,可以在启动时候调用一个自定义的管理类xxxManage.start(),然后注入工作在xxxManage用spring去做。出现这样的问题,是代码结构的不合理。
关于spring和ServletContextListener
引用 5 楼 camelials 的回复:

那就在ServletContextListener.contextInitializedcontextInitialized(ServletContextEvent servletContextEvent)不要使用spring注入。一般来说ServletContextListener启动的时候只是做一些初始化的工作,或者初始化一些常量/memcache,或者把库里的信息放……

说的有道理,一般我在这里头加载数据,由于数据是更新的,所以我启动了几个定时器,来定时更新数据,定时器里的数据有点复杂,所以我想用spring来给我管理里面相关的对象,所以出现类似的问题,

关于spring和ServletContextListener
10分
首先你要明确的是spring也是通过ServletContextListener来加载配置的xml文件
你的意思是你自己写了一个类来实现ServletContextListener?然后这个类在spring的类之前加载?
关于spring和ServletContextListener
引用 7 楼 dxqrr 的回复:

首先你要明确的是spring也是通过ServletContextListener来加载配置的xml文件
你的意思是你自己写了一个类来实现ServletContextListener?然后这个类在spring的类之前加载?

no,我的class implements ServletContextListener,你可以查查api

关于spring和ServletContextListener
已解决了,我不在ServletContextListener中启动定时器了,spring有管理定时器的功能
关于spring和ServletContextListener
引用 8 楼 xyswords 的回复:

引用 7 楼 dxqrr 的回复:首先你要明确的是spring也是通过ServletContextListener来加载配置的xml文件
你的意思是你自己写了一个类来实现ServletContextListener?然后这个类在spring的类之前加载?
no,我的class implements ServletContextListener,你可以查查api
   ……

额,这不就是我说的

关于spring和ServletContextListener
 楼主, 那如果时间是可以动态配置, 根据数据库来改变的你怎么解决?  spring中的定时器日期格式比较复杂不能,只能重启服务在后台进行修改,或者在数据库中添加对应的日期, 那得有多复杂?  跪求你的解决方案 

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明关于spring和ServletContextListener
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!