昨天晚上因为要准备写毕业设计就想着先把后台的框架给搭起来然后慢慢去写,可是在进行搭建过程中出现了一个然我找不到问题的错:
org.springframework.context.annotation.ConflictingBeanDefinitionException: Annotation-specified bean name 'log' for bean class [com.mysql.jdbc.log.Log] conflicts with existing, non-compatible bean definition of same name and class [com.sun.org.apache.commons.logging.Log]
根据报错的信息好像是这两个包中的Class名有了冲突,但是我模糊的感觉到并不是这两个包的错,所以我尝试把mysql-connect的包换成新一点的,或者把令外一个包换一下。可是结果都不尽人意。于是我和我的小伙伴就决定看一下配置文件:
<!--
3. mybatis自动扫描加载Sql映射文件/接口 : MapperScannerConfigurer sqlSessionFactory
basePackage:指定sql映射文件/接口所在的包(自动扫描)
-->
<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.micky.dao"></property>
<property name="sqlSessionFactory" ref="sqlSessionFactory"></property>
</bean>
果然发现了问题,在加载这个bean的时候我只定位到了com,没有具体定位到dao文件。改成com.micky.dao错误就消失了。
写东西的时候一定要理解是什么意思不然找错的时候就非常麻烦了。