org.springframework.beans.factory.NoUniqueBeanDefinitionException 导致原因之一
导致此异常原因很多,以下仅是针对其中一种因素的解决办法。
下面是DAO接口、Service接口、Service实现类的全路径名(全部定义在com.xxx.projetc包下)
com.xxx.projetc.MyDAO;
com.xxx.projetc.MyService;
com.xxx.projetc.MyServiceImpl;
spring-dao.xml配置片段如下
<bean id="" class="org.mybatis.spring.mapper.MapperScannerConfigurer"> <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" /> <property name="basePackage" value="com.xxx.projetc" /> </bean>
spring-service.xml配置片段如下
<!--扫描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分别放入不同的包,如下所示:
com.xxx.projetc.dao.MyDAO;
com.xxx.projetc.service.MyService;
com.xxx.projetc.service.impl.MyServiceImpl;
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步