我有我的Spring应用程序,其中应用程序上下文正确加载并正常工作。但是当我尝试在我的测试中加载它时,加载的应用程序上下文不包含在配置文件中声明的任何bean。
@Test
public void testInsertMapitPoint() {
ApplicationContext context = new ClassPathXmlApplicationContext(new String[] { "classpath:*/application-ds-context.xml","classpath:*/application-dao-context.xml" });
System.out.println("Bean Names:");
for (String beanName : context.getBeanDefinitionNames()) {
System.out.println(beanName);
}
}
显示的测试不会在上下文中显示任何bean。有什么帮助吗?
答案 0 :(得分:0)
使用类似
的模式classpath:*/application-ds-context.xml
// ^ this guy
Spring将加载与该模式匹配的任何文件。 任何意味着它可能找不到/加载任何。在此示例中,它将查找任何第一级包中名为application-ds-context.xml
的文件。
例如,它会找到
/classpath-root
/first
application-ds-context.xml
但它找不到
/classpath-root
application-ds-context.xml
或
/classpath-root
/first
/second
application-ds-context.xml
如果这是您看到的行为,则您的类路径不包含此类文件。查看如何构建测试应用程序。