异常信息:
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系统吗?不是把。。。
所以,暂时先将代码贴上去把。。不美观啊。。。
相关推荐
NC65通过BaseDAO操作数据库,包含接口类及接口实现类: /** * 获取baseDAO * @return */ public BaseDAO getBaseDAO() { if(baseDAO == null){ baseDAO = new BaseDAO(); } return baseDAO; } public ...
对于初学ibatis者来说,百度上都只提到用ibatis-2.3.0.677.jar,然后在读取配置文件的时候引用不到Resources和SqlMapClient,那么就是少了一个ibatis-sqlmap-2.3.4.726.jar,我把这两个jar同时上传了,希望可以帮助...
编写basedao的时候报错:java.lang.Class cannot be cast to java.lang.reflect.Parameterized
BaseDao.javaBaseDao.java
本资源为两个用java写的连接数据库以及对数据库的操作的代码文件,分别为DaoUtil.java和BaseDao.java。
其中,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)的普通方法、构造方法以公有属性,是一...
尊重原创——SpringBoot_BaseDao.zip,内部含有反射,获取泛型类类型,如何使用等,自己下载查看
手动实现BaseDao 自动写数据库操作
实现了简单的ORM增删改查。...<bean id="jdbcTemplate" class="org.springframework.jdbc.core.JdbcTemplate" abstract="false" lazy-init="default" autowire="default" dependency-check="default"> </bean>
精简封装Basedao.pdf
hibernate的BaseDAO源代码
java泛型BaseDao与BaseService
基于hibernate的baseDao,注释很详细,方便实用
public class BaseDAO { private final static String CLASSNAME = "com.microsoft.sqlserver.jdbc.SQLServerDriver"; private final static String URL = "jdbc:sqlserver://localhost:1433;"+ ...
java基本BaseDao写法,有注释,可方便初学者的使用,直接调用里面方法来执行。
BaseDao.class