spring启动异常:org.springframework.beans.factory.BeanCreationException

问题:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sqlSessionFactory' defined in class path resource [ApplicationContext.xml]: Initialization of bean failed; nested exception is org.springframework.beans.TypeMismatchException: Failed to convert property value of type 'java.lang.String' to required type 'org.springframework.core.io.Resource[]' for property 'mapperLocations'; nested exception is java.lang.IllegalArgumentException: Could not resolve resource location pattern [mybatis/*.xml]: ServletContext resource [/mybatis/] cannot be resolved to URL because it does not exist

问题分析:

问题集中在ApplicationContext.xml文件中,与sqlSeesionFactory有关。

原始文件中该部分的代码如下:

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="mybatis/*.xml"/>
<property name="typeAliasesPackage" value="com.toki.bean"/>
</bean>

以上配置,不会影响dao,bean,service层之间的配合操作,能够正确寻址到resources文件夹下mybatis文件夹下的*.xml文件。

但是,在添加controller层之后,不能寻址到resources文件夹下的子文件夹和文件。

原因是:未在value后添加classpath:。因为设置资源文件路径时要加classpath:,这表示是资源文件路径的根路径。

解决方案:

将配置修改为:

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
<property name="dataSource" ref="dataSource"/>
<property name="mapperLocations" value="classpath:mybatis/*.xml"/>
<property name="typeAliasesPackage" value="com.toki.bean"/>
</bean>




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值