我是Spring的新手用户。
我有一个数据库表,它本质上是静态的,只包含几条记录,我想要一个类似Map的结构(id- name)来保存这个表的两列。此映射必须在web应用程序启动时加载/初始化,并且必须适用于整个应用程序上下文,独立于用户会话,并且必须是只读的。这样,我可以节省大量的DB查询,因为不同的操作将简单地从该Map读取。
虽然我知道Java的ServletContextListener等,但我不知道如何在Spring中实现同样的功能。Spring Service bean是否是初始化和存储此类Map的正确位置/方式?
请指导我做同样的事情。
发布于 2012-12-15 06:41:44
您可以创建一个常规的spring bean,该bean公开一个方法,该方法从数据库加载所需的数据并将其存储在地图中。使用@PostConstruct注释此方法,spring将确保在应用程序上下文启动时调用该方法,从而加载地图。
您可以使用springs JdbcTemplate在此方法中加载数据
有关@PostConstruct标注的信息,请参见Spring PostConstruct doco
有关JdbcTemplate的信息,请参见JdbcTemplate doco
发布于 2012-12-13 17:29:34
您可以在Spring XML configuration中配置列表、集合和地图。有关更多示例,请参阅此处。
https://stackoverflow.com/questions/13856731
复制相似问题