异常信息:
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'deptServiceImpl': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springfuncs.common.dao.BaseDao org.springfuncs.common.service.impl.BaseServiceImpl.dao; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [org.springfuncs.common.dao.BaseDao] is defined: expected single matching bean but found 2: [deptDaoImpl, empDaoImpl]
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:287)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:585)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:913)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:464)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
at org.springfuncs.test.SpringTest.main(SpringTest.java:12)
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.springfuncs.common.dao.BaseDao org.springfuncs.common.service.impl.BaseServiceImpl.dao; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [org.springfuncs.common.dao.BaseDao] is defined: expected single matching bean but found 2: [deptDaoImpl, empDaoImpl]
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:506)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284)
... 13 more
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No unique bean of type [org.springfuncs.common.dao.BaseDao] is defined: expected single matching bean but found 2: [deptDaoImpl, empDaoImpl]
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:800)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:707)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:478)
... 15 more
解决方案:
@Transactional
public abstract class BaseServiceImpl<T> implements BaseService<T> {
private BaseDao<T> dao;
@Autowired
public void setDao(BaseDao<T> dao) {
this.dao = dao;
}
。。。。。。。。。。
}
--------------------------------
@Service
public class EmpServiceImpl extends BaseServiceImpl<Emp> implements EmpService {
@Override
@Autowired
@Qualifier("empDaoImpl")
public void setDao(BaseDao<Emp> dao) {
super.setDao(dao);
}
}
-----------------------------------
@Service
public class DeptServiceImpl extends BaseServiceImpl<Dept> implements DeptService {
@Override
@Autowired
@Qualifier("deptDaoImpl")
public void setDao(BaseDao<Dept> dao) {
super.setDao(dao);
}
}
附:晕。。。编辑器不好用。因为我是Win7系统吗?不是把。。。
所以,暂时先将代码贴上去把。。不美观啊。。。
相关推荐
对于初学ibatis者来说,百度上都只提到用ibatis-2.3.0.677.jar,然后在读取配置文件的时候引用不到Resources和SqlMapClient,那么就是少了一个ibatis-sqlmap-2.3.4.726.jar,我把这两个jar同时上传了,希望可以帮助...
NC65通过BaseDAO操作数据库,包含接口类及接口实现类: /** * 获取baseDAO * @return */ public BaseDAO getBaseDAO() { if(baseDAO == null){ baseDAO = new BaseDAO(); } return baseDAO; } public ...
编写basedao的时候报错:java.lang.Class cannot be cast to java.lang.reflect.Parameterized
1. `basedao.iml`: 这是IntelliJ IDEA项目文件,包含了项目的模块配置信息。 2. `pom.xml`: Maven项目配置文件,定义了项目的依赖、构建设置等。 - 在这个项目中,可能包含了JDBC驱动、Spring框架(如果使用)等...
BaseDao.javaBaseDao.java
**基于Hibernate的BaseDAO** 在Java企业级开发中,数据访问层(DAO,Data Access Object)是连接业务逻辑层和数据库的重要桥梁。BaseDAO是一种通用的设计模式,它封装了Hibernate框架的基本操作,使得业务逻辑层...
"SpringBoot_BaseDao.zip"这个压缩包文件显然与SpringBoot相关的数据库操作有关,特别是关于BaseDao的基础使用和实现。在Java开发中,Dao(Data Access Object)层是负责处理数据访问的,通常用于与数据库进行交互。...
throw new IllegalArgumentException("No @ManyToOne annotation found for field: " + associationField); } } private Field getAssociationField(Class<?> clazz, String fieldName) { try { return clazz...
"常用的BaseDAO及其实现" BaseDAO是Java中一种常用的数据访问对象(DAO),它提供了统一的数据访问接口,封装了数据访问的基本操作。BaseDAO通常是通过继承HibernateDaoSupport类实现的。 BaseDAO的主要功能包括:...
一个简单的BaseDao.java文件可能包含以下方法: 1. **插入(Insert)**:使用JDBC的PreparedStatement或MyBatis的SqlSession插入数据。 ```java public int insert(T entity) { // 创建SQL语句 String sql = ...
在Java编程语言中,`BaseDao.java` 和 `DaoUtil.java` 文件通常包含了与数据库交互的核心逻辑,特别是针对关系型数据库如MySQL。这两个文件中的类和方法是基于JDBC(Java Database Connectivity)API实现的,这是一...
`BaseDAO` 的封装则是一种常见的设计模式,用于简化数据访问对象(DAO)的实现,使得业务代码更加简洁、可维护。 `dbutils` 主要包含以下几个核心概念和功能: 1. **QueryRunner**: QueryRunner类是dbutils的主要...
其中,com.jb.arklis.app.DemoApplication类利用反射技术可以观察任何非静态类(比如java.lang.String, javax.swing.JFrame等类和自定义的类,比如com.jb.arklis.dao.BaseDAO)的普通方法、构造方法以公有属性,是一...
其中,com.jb.arklis.app.DemoApplication类利用反射技术可以观察任何非静态类(比如java.lang.String, javax.swing.JFrame等类和自定义的类,比如com.jb.arklis.dao.BaseDAO)的普通方法、构造方法以公有属性,是一...
《BaseDAO.js——深入解析JavaScript中的数据库访问对象基础框架》 在JavaScript开发中,数据库访问对象(DAO,Database Access Object)是一种常见的设计模式,用于封装对数据库的操作,从而实现业务逻辑与数据...
在标题提到的"SSH集成查询分页处理BaseDao"中,我们主要关注的是如何在SSH框架下实现数据的分页查询。 分页是大型Web应用中必不可少的功能,它能够帮助用户更有效地浏览和管理大量数据。在这个场景中,"BaseDao...
该资源是BaseDao用到的包: c3p0-0.9.2-pre1.jar commons-dbutils-1.4.jar commons-logging-1.1.1.jar itcast-tools-1.4.2.jar mchange-commons-0.2.jar mysql-connector-java-5.1.28-bin.jar
### 基于Spring JDBC的BaseDAO实现与应用 #### 概述 在Java开发领域,尤其是企业级应用开发中,持久层框架是至关重要的组件之一。Spring框架提供了多种方式来处理数据库操作,其中Spring JDBC模块是轻量级且功能...
`BaseDAO`是许多项目中常见的一种设计模式,它代表了数据访问对象(Data Access Object)的基础类,用于封装对数据库的通用操作。现在我们来深入探讨`hibernate`中的`BaseDAO`及其相关知识点。 首先,DAO设计模式是...