在学习ssm项目整合框架的时候出现了
“Error creating bean with name 'sqlSessionFactory' defined in class path resource [spring/applicationContext-dao.xml]: Invocation of init method failed; nested exception is java.io.FileNotFoundException: Could not open ServletContext resource [/mybatis/SqlMapConfig.xml]”的错误。
分析:
一般出现‘io’有关流的基本上是配置文件没有找到,根据提示“/mybatis/SqlMapConfig.xml”这个文件没有找到。
错误代码:
<!--sqlSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--加载mybatis配置文件-->
<property name="configLocation" value="mybatis/SqlMapConfig.xml"/>
<!--加载数据源-->
<property name="dataSource" ref="dataSource"/>
</bean>
正确代码:
<!--sqlSessionFactory-->
<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<!--加载mybatis配置文件-->
<property name="configLocation" value="classpath:mybatis/SqlMapConfig.xml"/>
<!--加载数据源-->
<property name="dataSource" ref="dataSource"/>
</bean>
可见只需要在
“/mybatis/SqlMapConfig.xml”
前面加上
“classpath:mybatis/SqlMapConfig.xml”就能够解决问题了。