我有一个存储在数据库表中的常量值列表。我的应用程序的搜索表单由一个公共包含文件生成,该文件可以放在站点上的任何JSP页面中。此搜索表单应包含数据库表中的常量。 Spring bean管理数据库层,我无法找到一个合适的位置来加载常量。我尝试过以下方法:
我还有其他选择吗?我希望能够从包含文件中干净地检索常量。
答案 0 :(得分:0)
您需要的是缓存。所以你可以做的是在#2的情况下使用静态字段。当此字段为null
时,您将获取数据并将其保存在字段中。问题:当数据库更改时,除非您清除该字段或重新启动应用程序,否则该字段不会更新。
对于#3,您无法访问全局类,但可以按名称访问bean,就像任何其他bean一样。再说一次,你会遇到陈旧问题。
要解决此问题,请添加包含时间戳(长整数)的第二个字段。更改字段时,请将其设置为System.currentTimeMillis()
加一天。浏览包含文件时,请检查时间戳与当前时间。当它较旧时,再次获取值。