如何使用@ContextConfiguration批注加载application-context.xml

时间:2014-05-28 20:06:26

标签: java spring junit4

我的项目结构如下:

src/main/java -> contains java classes  
src/main/resources/spring/context/application-context.xml  
src/test/java -> contains J-unit test   

我想使用@ContextConfiguration批注来加载我的application-context.xml

如何加载此文件以及如何确保加载所有bean? 我尝试使用classpath和file。但没有什么对我有用。 我很困惑何时使用classpath和文件。有人请帮助我。

提前致谢。

2 个答案:

答案 0 :(得分:0)

@ContextConfiguration("classpath:/spring/context/application-context.xml")应该有用。

在传统的Maven项目布局中,src/main/resources包含类路径资源,因此您应该使用classpath:或根本不使用前缀,因为在这种情况下classpath:应该是默认值。

如果它仍然无法正常工作,那么您的项目配置可能出现问题,src/main/resources中的文件不会出现在类路径中。

如果上下文成功加载,其中的所有bean也应加载,否则上下文将无法加载。

答案 1 :(得分:0)

尝试:

ApplicationContext APPLICATION_CONTEXT = new ClassPathXmlApplicationContext("/spring/context/application-context.xml");

如果不起作用,请尝试将application-context.xml直接放在src/main/resources中,然后加载

ApplicationContext APPLICATION_CONTEXT = new ClassPathXmlApplicationContext("application-context.xml");