IDEA中Spring配置错误:class path resource [.xml] cannot be opened because it does not exist
运行 Spring 项目时出现类似下面的错误信息
class path resource [applicationContext.xml] cannot be opened because it does not exist
翻译:没有找到你的 .xml 配置文件
原因
在Test测试类中我使用的是:
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
获取配置文件。
ClassPathXmlApplicationContext()方法是在其所在的目录中寻找 .xml 配置文件。
注意: 这里指的是编译后的 .class 文件所在的目录,不是 .java 文件
解决
点击 File -> Project Structure,选择Modules -> Paths -> Output Paths
修改为 applicationContext.xml 文件所在目录。
项目中我是在使用sqlsessionfactory配置时,mapper指向xml文件目录时,报这个错误:
源码:
@Bean(name="rabbitProducerSqlSessionFactory")
public SqlSessionFactory rabbitProducerSqlSessionFactory(DataSource rabbitProducerDataSource) {
SqlSessionFactoryBean bean = new SqlSessionFactoryBean();
bean.setDataSource(rabbitProducerDataSource);
ResourcePatternResolver resolver = new PathMatchingResourcePatternResolver();
try {
bean.setMapperLocations(resolver.getResources("classpath:mapping/*.xml"));
SqlSessionFactory sqlSessionFactory = bean.getObject();
sqlSessionFactory.getConfiguration().setCacheEnabled(Boolean.TRUE);
return sqlSessionFactory;
} catch (Exception e) {
throw new RuntimeException(e);
}
}
然后按照上面的操作后,问题解决;