我有一个java spring应用程序,该应用程序在xml文件中使用从app.properties中获取的占位符值。是否有可能在没有启动应用程序的情况下创建测试或类似内容,也不需要启动Spring上下文,该上下文命名xml文件(配置了Bean的文件)中使用的所有占位符都正确,没有丢失,没有拼写错误等?
谢谢。
最佳答案
一种想法是获取对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]);
}
}