2012-12-13 33 views
0

我是Spring新手用户。Spring中的内存结构

我有一个数据库表,它本质上是静态的,只包含几条记录。我想要一个包含此表的两列的Map-like结构(id-name)。此Web应用程序必须在Web应用程序启动时加载/初始化,并且必须适用于整个应用程序的上下文中,与用户会话无关,且必须是只读的。这样,我可以节省大量的数据库查询,因为不同的操作只需从该地图读取。

虽然我知道Java EE的ServletContextListener等,但我不知道如何在Spring中实现它。 Spring服务bean是否是初始化和存储这种Map的正确位置/方法?

请大家指导一下。

回答

3

你可以创建一个常规的spring bean,暴露一个方法,该方法从数据库加载你需要的数据并将其存储在你的地图中。用@PostConstruct注解这个方法,spring将确保在你的应用程序上下文开始时调用它,因此加载你的地图。

你可以用弹簧的JdbcTemplate这种方法中加载数据

Spring PostConstruct doco的信息,在@PostConstruct注释

JdbcTemplate doco的信息,JdbcTemplate的

+0

这将符合我的目的,谢谢! –

0

您可以在Spring XML configuration中配置列表,集合和映射。在这里看到更多的例子。

+0

我读了这部分,但我不不知道如何配置从数据库填充地图,即将执行一个查询将获取2列,这将形成地图的键值对 –