0

我是 Spring 新手用户。

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

虽然我知道 Java EE 的 ServletContextListener 等,但我不知道如何在 Spring 中实现相同的功能。Spring Service bean 是初始化和存储此类 Map 的正确位置/方式吗?

请指导我。

4

2 回答 2

3

您可以创建一个常规 spring bean,公开一个方法,该方法从数据库加载您需要的数据并将其存储在您的地图中。使用 @PostConstruct 注释此方法,spring 将确保在您的应用程序上下文启动时调用它,从而加载您的地图。

您可以使用 springs JdbcTemplate 在此方法中加载数据

有关@PostConstruct 注释的信息,请参阅Spring PostConstruct doco

有关 JdbcTemplate的信息,请参阅JdbcTemplate doco

于 2012-12-14T22:41:43.913 回答
0

您可以在Spring XML 配置中配置列表、集合和映射。有关更多示例,请参见此处。

于 2012-12-13T09:29:33.647 回答