2012-05-07 42 views
2

我有java spring應用程序,它使用xml文件佔位符值從app.properties中取得。是否可以在不啓動應用程序的情況下創建測試或類似的東西,以及如何獲取命名xml文件中使用的所有佔位符(其中配置了bean)的spring上下文是否正確,沒有缺失,什麼拼寫錯誤等。 謝謝。如何檢查所有春季佔位符是否存在?

+0

如果拼寫錯誤或缺失,您希望做什麼? – ant

回答

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]); 
    } 
}