读db数据的对象,只要被Spring加载了,都会读到ApplicationContext(应用环境)中,
然后任何控制器Controller可以实现ApplicationContextAware(打理应用环境)接口,可以自动加载ApplicationContext,也就可以在控制器的方法中 *** 作其中任一数据对象。
比如某个spring-beans.xml中写上
<bean id="myService" class="com.mypackage.MyDatabaseService" />
然后在控制器中
@Controllerclass MyController implements ApplicationContextAware{
public MyDatabaseService service
@override public setApplicationContext(ApplicationContext ac){
service=(MyDatabaseService) ac.getBean("myService")
}
}
这样就自动加载了
你这个要求应该用缓存来实现,当然你可以用Mvc的缓存过滤器(搜搜缓存过滤器的用法,很简单),也可以自己设计一个缓存层(如微软的Petshop),也可以使用现成的缓存框架(如OSCache,SwarmCache,WhirlyCache等)。实现方法如下:web.xml中
<servlet>
<servlet-name>t1</servlet-name>
<servlet-class>com.abc.test.T1</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet> <load-on-startup>标记web容器是否在启动的时候就加载这个servlet,当值为0或者大于0时,表示web容器在应用启动时就加载这个servlet;
当是一个负数时或者没有指定时,则指示容器在该servlet被选择时才加载;
正数的值越小,启动该servlet的优先级越高。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)