如何从一个不受spring管理的pojo中获取Spring Context中的Property?

我有一个在spring context xml文件中配置的属性文件.我从文件加载值很好.
我试图从常规pojo中加载属性文件中的属性,而不是弹簧管理.由于Spring已经加载了该属性,我想知道是否有办法获取值而不是我必须手动加载属性文件?

解决方法:

如果您的pojo不是由Spring管理的,您可以以静态方式访问Spring上下文.

将bean添加到应用程序xml:

<bean id="StaticSpringApplicationContext" class="com.package.StaticSpringApplicationContext"/>

创建一个类:

public class StaticSpringApplicationContext implements ApplicationContextAware  {
    private static ApplicationContext CONTEXT;

      public void setApplicationContext(ApplicationContext context) throws BeansException {
        CONTEXT = context;
      }

      public static Object getBean(String beanName) {
        return CONTEXT.getBean(beanName);
      }

}

然后你可以使用以下方法从你的POJO访问任何Spring bean:

StaticSpringApplicationContext.getBean("yourBean")
上一篇:STL_算法_填充新值(fill、fill_n、generate、generate_n)


下一篇:java-为什么我们需要测试用例来针对纯POJO运行