美好的一天每个人,创建应用程序Spring MVC中范围的bean
我想解释一下我目前的遗留应用程序之前,我问我的问题。 我有一个Tomcat中的servlet,我使用Hibernate在init()中将一个不变的数据库表加载到内存中。因为这是在init()中定义的,所以它只被调用一次,并且在随后对servlet的所有请求中都可用,因此它被用来提高应用程序性能,因为它减少了对数据库的往返次数。
我最近开始使用Spring 3,并且我想将此设置(servlet类现在是一个控制器)更改为Spring,但我的挑战是如何创建域对象的ArrayList(如我在init ()),以提高效率,并且在所有对控制器类的调用中都可用,而不需要每次请求时都访问数据库。如果这不可行,那么我有哪些选项?
任何帮助将不胜感激。
感谢您的回复,但没有解决一个基本问题,那就是如何在请求完全进入之前,在弹簧加载时创建我需要从数据库获取的数组列表。也请原谅我,如果这是一个愚蠢的问题,但我如何找回你在我的控制器类中的modelandview对象中设置的变量 – 2011-05-23 16:38:27
你可以访问任何你放在modelAndView中的任何控制器,它是一个HashMap,这个数据是也可用于您可能拥有的任何JSP前端。 在第一个请求进入之前,RequestInterceptor将被调用,因此数据在第一个请求执行之前将可用。 如何从数据库中获取数据,这取决于您如何访问数据库,我使用Hibernate,因此我需要的任何数据都已经在数组列表中。要在上下文启动后执行方法,请使用可将数据加载到单例中的@PostConstruct。 – 2011-05-23 17:17:32