我们常常需要将一些数据在Tomcat启动时加载到内存中,提供其它内访问,以提高访问速度。
因为Sping的bean 管理有以下特点,能帮助我们做到这点。
1. Spring 默认情况下每次返回的都是Bean的一个实例。
2.default-lazy-init="false" 表示Spring启动时,将会实例化这个Bean
所以我们将加载数据 Bean 设置为 Spring启动时,将会实例化这个Bean,将保存的数据对象,如List ,作为这个Bean的一个属性。你可以指定这个bean 实例化时需要指定执行的方法,在这个方法里赋值List。
因为每次返回bean都是同一个实例,所以List的值是不变的,有点像static变量。
当然其它类如果需要更改这个值,只需这个Bean提供相应的方法进行修改就可以了。