美好的一天每個人,創建應用程序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