gpt4 book ai didi

java - 在 Spring 中编写自定义 PlaceholderResolver(如 PropertyPlaceholderConfigurerResolver)

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:32:41 25 4
gpt4 key购买 nike

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

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

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

我认为我需要以某种方式编写一个访问我的 MBean 的自定义 PlaceholderResolver。我已经在谷歌上搜索了几个小时,所以我很感激你的提示 :)

问候

最佳答案

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

MutablePropertySources propertySources = new MutablePropertySources();
Map<String, Object> propertiesFromDB = getPropertiesFromDB();
MapPropertySource propertySource = new MapPropertySource("propsFromDB", propertiesFromDB);
propertySources.addFirst(propertySource);
setPropertySources(propertySources);

关于java - 在 Spring 中编写自定义 PlaceholderResolver(如 PropertyPlaceholderConfigurerResolver),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12041432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com