spring框架中启动时加载数据

 

u=4172169013,464131932&fm=21&gp=0

程序在启动的时候一般都会把部分静态数据加载到内存中,方便快速调用,普通java web程序可以直接写到web.xml中:

<servlet>
<servlet-name>t1</servlet-name>
<servlet-class>com.test.T</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet> <load-on-startup>标记web容器是否在启动的时候就加载这个servlet,当值为0或者大于0时,表示web容器在应用启动时就加载这个servlet。

使用这种方法虽然能在启动的时候执行初始化的方法,但是如果静态数据在数据库中要读入内存呢?

此时spring的JdbcTemplate还没有加载,无法读取数据库。

只要在spring的配置文件中加入一个bean就解决了:

<bean id=”initLoader” lazy-init=”false” class=”your.class” init-method=”init”/>

spring在启动的时候就可以调用init方法里,在这个方法里加载数据就可以。