致使此異常緣由不少,如下僅是針對其中一種因素的解決辦法。spring
下面是DAO接口、Service接口、Service實現類的全路徑名(所有定義在com.xxx.projetc包下)sql
com.xxx.projetc.MyDAO;
com.xxx.projetc.MyService;
com.xxx.projetc.MyServiceImpl;
spring-dao.xml配置片斷以下mybatis
<bean id="" class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> <property name="basePackage" value="com.xxx.projetc" /> </bean>
spring-service.xml配置片斷以下app
<!--掃描service包下全部使用註解的類型 --> <context:component-scan base-package="com.xxx.projetc" />
因爲MyDAO和MyServiceImpl所有定義在com.xxx.projetc包下,致使負責解析spring-dao.xml和spring-service.xml的相關spring框架程序重複對com.xxx.projetc進行了掃描。框架
解決此問題的方法是將MyDAO和MyServiceImpl分別放入不一樣的包,以下所示:spa
com.xxx.projetc.dao.MyDAO;
com.xxx.projetc.service.MyService;
com.xxx.projetc.service.impl.MyServiceImpl;