近期,想把一些数据量小的值表,每次通过查询,考虑到这个表都是冷数据,很少变动,可以把它放到缓存中,这样就可以减轻数据方面的压力,在项目中用的是ehcache,对于根据查询放入缓存,这样的数据少,直接在web程序创建好就把他放入缓存,这样的话,我们每次都不会去查询,直接就省很多事,,然后去网上查一查spring的监听器,开始找了一个ServletContextListener ,这个监听器可以,但由于我的查数据用的是mybatis,这个mybatis要打印日志,发现日志的jar有问题,一个throwable的错误,查遍网上,没有找到解决方法,瞬间感觉欲哭无泪。后面看到了实现org.springframework.beans.factory.InitializingBean接口(implements InitializingBean, ServletContextAware),来做,发现这个完美解决了我的问题,只需要把类的配置加入application.xml中(如:<bean class="com.listenter.Listenterloader"/> ),后面发现晚上还有一其他方案:实现org.springframework.beans.factory.config.BeanPostProcessor接口(implements BeanPostProcessor),没有试验,就这样了。不能用ServletContextListener ,有log4j就是个大坑。