系统使用的ssh框架,现在有些字典表是固定不变的,所以想每次启动tomcat时,将几个字典表直接加载到内存里,这样就不用频繁读取数据库了。
可以写个servlet 或者filter或者listener,然后在init里加载
我想再问下,比如我在servlet里面取到了字典表的数据,怎么放到内存里,放到application里面吗? 谢谢
放在哪都行,你也可以放在一个类的静态变量里,这样别的地方都可以访问到。
static code block
不需要这么麻烦。写个spring bean,实现InitializingBean接口.
除了 用 监听器 listener 在容器启动的时候加载,
也可以写一个静态块,只加载一次,hibernate 读取配置文件的时候就是这么干的
static { try { configuration.configure(configFile); sessionFactory = configuration.buildSessionFactory(); } catch (Exception e) { System.err .println("%%%% Error Creating SessionFactory %%%%"); e.printStackTrace(); } }
用Spring提供的init-method的功能来执行一个bean 子定义的初始化方法,这可以在一个bean的配置文件中通过init-method声明:
<bean id="testBean" class="TestClass" init-method="initialize"/>
本文由飞库小说网www.feikuxs.com整理发布