org.springframework.beans.factory.NoUniqueBeanDefinitionException 致使缘由之一

致使此异常缘由不少,如下仅是针对其中一种因素的解决办法。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;
相关文章
相关标签/搜索