3

我在 Web 应用程序中使用 MBean 来获取应用程序属性,很多人通常将这些属性放入属性文件中。MBean 将从数据库中写入和读取以实现持久性。

我正在寻找一种方法来公开我的应用程序属性(从 (m) bean 到 Spring(例如 Spring EL、applicationContext.xml)。在很多应用程序中使用 PropertyPlaceholderConfigurerResolver 但因为我只有一个常规的 (m) Bean 我想将 bean 属性公开给 spring 表达式语言。

我查看了 PropertyPlaceholderConfigurerResolver 以了解属性如何暴露给 Spring 表达式语言,但我不知道如何。

我想我需要编写一个自定义 PlaceholderResolver 来访问我的 MBean。我已经在谷歌上搜索了几个小时,所以我会很感激提示:)

问候

4

1 回答 1

2

我不熟悉 MBean,但我们的应用程序正在从数据库中获取应用程序设置,然后在我们的应用程序上下文中使用它们。我们只是扩展PropertySourcesPlaceholderConfigurer,然后您只需要调用该setPropertySources()方法。在我们的构造函数中,我们有这样的东西:

MutablePropertySources propertySources = new MutablePropertySources();
Map<String, Object> propertiesFromDB = getPropertiesFromDB();
MapPropertySource propertySource = new MapPropertySource("propsFromDB", propertiesFromDB);
propertySources.addFirst(propertySource);
setPropertySources(propertySources);
于 2012-08-20T18:47:23.707 回答