通过SqlSessionTemplate基于模板类实现Mybatis
来源:互联网 发布:js 同时满足两个条件 编辑:程序博客网 时间:2024/06/05 09:51
之前网上下了一个电商项目学习。
项目中遇到一个异常百思不得其解:贴上异常信息
八月 18, 2017 2:37:27 下午 org.apache.catalina.core.StandardContext listenerStart严重: Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListenerorg.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dealCategoryDAO': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.mybatis.spring.SqlSessionTemplate com.common.orm.mapper.BaseMybatisDAO.template; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.mybatis.spring.SqlSessionTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:292) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1185) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:537) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:475) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:304) at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:228) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:300) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:195) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:700) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:760) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:482) at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389) at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294) at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5118) at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5634) at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571) at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private org.mybatis.spring.SqlSessionTemplate com.common.orm.mapper.BaseMybatisDAO.template; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.mybatis.spring.SqlSessionTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:508) at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:289) ... 22 moreCaused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.mybatis.spring.SqlSessionTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:1100) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:960) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:855) at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:480) ... 24 more
一般来说这种异常大多是因为没有加上@Controller,@Service这样的注解造成的,但在这里不是。
经过研究发现是DealCategoryDAO的父类BaseMybatisDAO出了问题
结合异常信息中“Could not autowire field: private org.mybatis.spring.SqlSessionTemplate”这句话可以看出把问题定位到BaseMybatisDAO中的SqlSessionTemplate
解决方法就是在配置文件中加入红框部分配置。
阅读全文
0 0
- 通过SqlSessionTemplate基于模板类实现Mybatis
- Mybatis(基于SqlSessionTemplate的实现) + Spring 练习实战
- 通过 sqlSessionTemplate 整合 Spring 和 MyBatis 的方法
- springMVC+mybatis 之 借助SqlSessionTemplate 实现Dao层通用写法
- mybatis SqlSessionFactoryBean SqlSessionTemplate MapperScannerConfigurer
- Mybatis SqlSessionTemplate 源码解析
- mybatis 中的SqlSessionTemplate 理解
- spring-mybatis整合-SqlSessionTemplate
- Mybatis SqlSessionTemplate 源码解析
- Mybatis SqlSessionTemplate 源码解析
- Mybatis SqlSessionTemplate 源码解析
- Mybatis SqlSessionTemplate 源码解析
- Spring与mybatis的整合实践之SqlSessionTemplate持久化模板
- Spring与mybatis的整合实践之SqlSessionTemplate持久化模板详解
- mybatis中 SqlSessionTemplate的理解
- mybatis spring配置SqlSessionTemplate使用
- mybatis中 SqlSessionTemplate的理解
- MyBatis-Spring整合 注入SqlSessionTemplate
- 技术文章 | 谈谈关于PHP的代码安全相关的一些致命知识
- Android动态显示和隐藏状态栏探究。
- Android控件显示和隐藏案例详解
- idea 采用快捷键
- Sophix热更新的使用
- 通过SqlSessionTemplate基于模板类实现Mybatis
- MySQL数据库备份
- 【java】替换字符串一些部分为星号达到保密效果(工具类整理)
- mybatis框架缓存使用
- StringBuilder在高性能场景下的正确用法
- 微信小程序 整理文档(更新中。。。)
- muduo源码学习(11)-日志类封装1
- Java面试个人整理(手打勿喷,易于个人学习)2
- Java消息中间件ActiveMQ初体验