异常信息
org.springframework.beans.factory.BeanDefinitionStoreException:Failed to read candidate component class: file [E:\workspace\spring_mybatis\bin\cn\knight\ssm\mapper\UserMapper.class]; nested exception is java.lang.IllegalArgumentException
首先你得保证你的配置文件没有问题。
spring配置applicationContext.xml
<!-- mapper的批量扫描,从mapper的包中扫描出mapper接口,自动创建代理对象并且在spring容器中注入
需要遵循规范mapper.java mapper.xml
sqlSessionFactoryBeanName会在数据库配置文件完成后执行
-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<!-- 指定扫描的包名 -->
<property name="basePackage" value="需要扫描的包名"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"/>
</bean>
然后最大的坑是jdk1.8跟spring3.2及以下版本不兼容,导致扫描不出mapper。换成jdk1.7(我没试)或者换成spring4.x版本即可解决