请教在Spring MVC中,如何实现启动时从数据库读取信息

请教在Spring MVC中,如何实现启动时从数据库读取信息,第1张

读db数据的对象,只要被Spring加载了,都会读到ApplicationContext(应用环境)中,

然后任何控制器Controller可以实现ApplicationContextAware(打理应用环境)接口,可以自动加载ApplicationContext,也就可以在控制器的方法中 *** 作其中任一数据对象。

比如某个spring-beans.xml中写上

<bean id="myService" class="com.mypackage.MyDatabaseService" />

然后在控制器中

@Controller

class 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的优先级越高。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9973467.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存