如何检查是否存在所有弹簧占位符?

时间:2012-05-07 12:14:00

标签: java xml spring configuration placeholder

我有java spring应用程序,它在xml文件中使用从app.properties获取的占位符值。是否有可能在不启动应用程序的情况下创建测试或类似的东西,并获取弹出上下文,命名xml文件中使用的所有占位符(其中bean已配置)是正确的,没有遗漏,没有拼写错误等等? 感谢。

1 个答案:

答案 0 :(得分:1)

一个想法是获取对ApplicationContext的引用并实际创建每个bean。如果没有正确定义某些内容,这应该抛出异常。

String[] beanNames = getAppContext().getBeanDefinitionNames();

for (int i = 0; i < beanNames.length; i++)
{
   BeanDefinition beanDefinition = getAppContext().getBeanFactory()
               .getBeanDefinition(beanNames[i]);

   if (!beanDefinition.isAbstract())
   {
      getAppContext().getBean(beanNames[i]);
   }
}