SpringMVC mybatis注入Dao层失败 10C

BaseDaoImpl.java

 public class BaseDaoImpl<T> extends SqlSessionDaoSupport   {

    @Resource
    public void setSqlSessionFactory(SqlSessionFactory sqlSessionFactory) {
        super.setSqlSessionFactory(sqlSessionFactory);

    }

    public List<QuestionOption> GetTest() { 
        return  getSqlSession().selectList("executeSql", "SELECT * FROM xxx");
    }

}

BaseDao.java

 public interface BaseDao {

    public List<QuestionOption> GetTest();
}

QuestionBankServiceImpl.java

 @Transactional
@Service("QuestionBankService")  
public class QuestionBankServiceImpl implements IQuestionBankService   {

    @Resource 
    private IQuestionBankDao questionBankDao;


    public List<QuestionOption> GetTest()
    {
        List<QuestionOption> list=questionBankDao.GetTest(); 
        return list;
    }

}

spring-mvc.xml

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans    
                            http://www.springframework.org/schema/beans/spring-beans-3.1.xsd    
                            http://www.springframework.org/schema/context    
                            http://www.springframework.org/schema/context/spring-context-3.1.xsd    
                            http://www.springframework.org/schema/mvc    
                            http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">

    <mvc:annotation-driven />
    <mvc:resources location="/images/" mapping="/images/**" />
    <mvc:resources location="/css/" mapping="/css/**" />
    <mvc:resources location="/js/" mapping="/js/**" />
    <!-- 自动扫描该包,使SpringMVC认为包下用了@controller注解的类是控制器 -->
    <context:component-scan
        base-package="com.TJ.test.controller" />
    <!--避免IE执行AJAX时,返回JSON出现下载文件 -->
    <bean id="mappingJacksonHttpMessageConverter"
        class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
        <property name="supportedMediaTypes">
            <list>
                <value>text/html;charset=UTF-8</value>
                <value>application/json;charset=UTF-8</value>
            </list>
        </property>
    </bean>
    <!-- 启动SpringMVC的注解功能,完成请求和注解POJO的映射 -->
    <bean
        class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
        <property name="messageConverters">
            <list>
                <ref bean="mappingJacksonHttpMessageConverter" /> <!-- JSON转换器 -->
            </list>
        </property>
    </bean>
    <!-- 定义跳转的文件的前后缀 ,视图模式配置 -->
    <bean
        class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <!-- 这里的配置我的理解是自动给后面action的方法return的字符串加上前缀和后缀,变成一个 可用的url地址 -->
        <property name="prefix" value="/WEB-INF/jsp/" />
        <property name="suffix" value=".jsp" />
    </bean>

    <!-- 配置文件上传,如果没有使用文件上传可以不用配置,当然如果不配,那么配置文件中也不必引入上传组件包 -->
    <bean id="multipartResolver"
        class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
        <!-- 默认编码 -->
        <property name="defaultEncoding" value="utf-8" />
        <!-- 文件大小最大值 -->
        <property name="maxUploadSize" value="10485760000" />
        <!-- 内存中的最大值 -->
        <property name="maxInMemorySize" value="40960" />
    </bean>

    <!-- 全局异常处理 自定义实现spring的全局异常解析器HandlerExceptionResolver -->
    <bean id="exceptionResolver"
        class="com.anyi.globallicai.mvcframework.CustomExceptionResolver"></bean>
</beans>  

spring-mybatis.xml

 <?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
    xmlns:context="http://www.springframework.org/schema/context"
    xmlns:mvc="http://www.springframework.org/schema/mvc"
    xsi:schemaLocation="http://www.springframework.org/schema/beans    
                            http://www.springframework.org/schema/beans/spring-beans-4.0.xsd    
                            http://www.springframework.org/schema/context    
                            http://www.springframework.org/schema/context/spring-context-3.1.xsd    
                            http://www.springframework.org/schema/mvc    
                            http://www.springframework.org/schema/mvc/spring-mvc-4.0.xsd">
    <!-- 自动扫描 -->
    <context:component-scan base-package="com.Tj.test.*" />
    <!-- 引入配置文件 -->
    <bean id="propertyConfigurer"
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="location" value="classpath:conf/jdbc.properties" />
    </bean>

    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"
        destroy-method="close">
        <property name="driverClassName" value="${driver}" />
        <property name="url" value="${url}" />
        <property name="username" value="${username}" />
        <property name="password" value="${password}" />
        <!-- 初始化连接大小 -->
        <property name="initialSize" value="${initialSize}"></property>
        <!-- 连接池最大数量 -->
        <property name="maxActive" value="${maxActive}"></property>
        <!-- 连接池最大空闲 -->
        <property name="maxIdle" value="${maxIdle}"></property>
        <!-- 连接池最小空闲 -->
        <property name="minIdle" value="${minIdle}"></property>
        <!-- 获取连接最大等待时间 -->
        <property name="maxWait" value="${maxWait}"></property>
    </bean>

    <!-- spring和MyBatis完美整合,不需要mybatis的配置映射文件 -->
    <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
        <property name="dataSource" ref="dataSource" />
        <property name="configLocation" value="classpath:conf/mybatis-config.xml"></property>
        <!-- 自动扫描mapping.xml文件 -->
        <property name="mapperLocations" value="classpath:com/Tj/test/mapping/*.xml"></property>
    </bean>

    <!-- DAO接口所在包名,Spring会自动查找其下的类 -->
    <bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
        <property name="basePackage" value="com.TJ.test.dao" />
        <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
    </bean>

    <!-- (事务管理)transaction manager, use JtaTransactionManager for global tx -->
    <bean id="transactionManager"
        class="org.springframework.jdbc.datasource.DataSourceTransactionManager">
        <property name="dataSource" ref="dataSource" />
    </bean>

</beans>

BaseDao 我想写一些基础的 增删改查
然后 以后dao的每个class 直接继承 BaseDao
在Service直接调用就可以了

现在 运行调用之后 提示 Invalid bound statement (not found): com.Tj.test.dao.IQuestionBankDao.GetTest
所以怀疑没有注入成功
结构目录

0

5个回答

public class BaseDaoImpl extends SqlSessionDaoSupport implements BaseDao 是不是漏了这个

0

从截图来看,IQuestionBankDao是个interface,如果是interface的话,我觉得mybatis会去自动找对应的Mapper.xml,由于没有对应的xml,所以Invalid bound。
如果想实现用BaseDao里写sql,然后使用这个通用的Dao,我觉得应该让IQuestionBankDao去继承BaseDao,让其作为一个子类而不是接口。

0
egg1996911
DengDengLei 回复sbcnn1: 用接口的话就要写mapper,用类的实现才可以不写mapper,接口没有对应的mapper的时候就会报绑定失败的错误。BaseDao是实现,所以调用可以成功,IQuestionBankDao是没有mapper的interface,所以调用失败。
10 个月之前 回复
sbcnn1
sbcnn1 BaseDao 直接当做子类 ,然后在Service调用可以。。 。 但是想用接口通过注入。。
10 个月之前 回复

dao加注解

@Repository
@Mapper
public interface XXXDao {}
0

有报错信息吗,我用的是@Autoviewed

0
0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
其他相关推荐
springMVC mybatis dao接口(mapper接口)注入失败
报的错误是: No qualifying bean of type [com.*.*.*.*.*.dao.UserDao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotatio
springMVC mybatis整合dao接口(mapper接口) spring注入失败
整合springmvc和mybatis时,启动服务报错如下:org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [demo.dao.PersonMapper] found for dependency: expected at least 1 bean which qu
SpringBoot+Mybatis整合报,service注入失败,dao注入失败,
问题:com.sun.org.apache.xerces.internal.impl.XMLEntityScanner$1 会导致,报,service注入失败,dao注入失败, 学习springboot整合mybaits.,根据demo做. 看整个流程都没问题了,因为配置本身就不多. 配置文件主要东西都在application.properties中了.
springboot 整合mybatis的时候报错:dao层bean注入失败
mybatis Field xxxMapper in xxxx required a bean of type 'XXXMapper' that could not be found.         2017-05-11 16:15:32.410 [main] INFO  o.a.catalina.core.StandardService - Stopping service Tomc...
注入错误mybatis的dao层引起问题
There is no getter for property由于指向错误,属性对应不上 @Resource(name = &quot;xxx&quot;)应该指向对应实体类的mybatis的dao层文件, 这样才能找到对应的xml进行查询。
springboot整合mybatis dao注入失败 这个是一篇提问的稿子啊啊啊啊,悬赏不够只能写在这里了
我没有币了只能写在这里了,望路过的大神帮忙解决一下。。。 我的问题就是springboot整合mybatis的时候,在dao层进行测试的时候(在service直接注入dao也是这个错),报异常,异常下面图片有详细的,我就不描述了,dao接口加了@Repository这个注解,按理说应该是已经注入了的,只是不知道启动的时候为什么会报错,求大神路过解决一下~~~~~~~~~ 下面贴出我的相
使用SpringMVC开发中,dao层接口无法在Service层注入,sessionFactory无法再Dao层注入
1、使用Spring开发中,service接口或者是dao层接口无法注入,遇dao到这种情况,首先检查dao层和service层是否被扫描到。    原因:service层为扫描到   &amp;lt;!-- 注解扫描包,注意换成自己的路径 --&amp;gt;    &amp;lt;context:component-scan base-package=&quot;com.hh&quot; use-default-filters=&quot;fal...
SpringBoot整合mybatis之后mapper/dao注入失败问题
错误信息: @org.springframework.beans.factory.annotation.Autowired(required=true) 大概意思就是找不到mapper 原因:没有扫描到mapper/dao 解决:在application应用程序下加入注解扫描mapper @SpringBootApplication(scanBasePackages=&quot;com.exa...
springboot与mybatis整合dao层不能注入的问题
需要重写VFS,并将其在mybatis整合类中指定为VFS的实现类public class SpringBootVFS extends VFS { private final ResourcePatternResolver resourceResolver; public SpringBootVFS() { this.resourceResolver = new Path
基于Spring+SpringMVC+Mybatis的秒杀系统之Dao层(1)
效果图示例二话不说,还是老规矩,先看下系统的截图: 列表页: 详情页: 编程环境 intellj idea spring、springMVC Mybatis mysql bootstrap jQuery、 jQuery-countdown、jQuery-cookie 结构示意图
spring整合mybatis,关于注入Dao对象出错问题
[size=large]今天在公司测试功能时发现一问题: 先进行代码说明: 1,controller配置了Scope=&quot;prototype&quot;(表明每一次请求都是原子型) @resource/@autowired service对象都可以(两种注解都可以)。 2,service 配置了Scope=&quot;prototype&quot;(表明每一次请求都是原子型) @resource dao对象...
SpringMVC+Mybatis无法依赖注入
SpringMVC+Mybatis配置问题,这两天在弄框架搭建,用的是SpringMVC+Mybatis,搭建完成之后,一直提示DAO层无法依赖注入。在网上搜了不少的该问题的答案,一般是缺少@这种引入符或者spring扫描包错误。通过一遍一遍检查发现,这些配置都对,不知道原因出现在,最后通过朋友的帮助发现,是DAO层的包路径差了一个字母,导致的问题。通过该问题,首先一定要认真,其次 如果是包名称
springMVC+mybatis多数据源配置(dao扫描版本)
原理图如下 我们通过改变dao的session就可以达到数据库的切换,读写分离,多数据源就方便起来。 以下是主要配置代码 applicationContext.xml <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-insta
解决 SpringMVC 非spring管理的工具类使用@Autowired注解注入DAO为null的问题
有时候在工具类中需要要操作数据库,即需要注入springMVC中的DAO层,但是此时工具类并非spring管理,所以使用@Autowired注入会报空指针异常,在试了好多方案都不行时,找到了比较适合springMVC的解决方法:(1)在配置文件(springmvc.xml)中加入工具类所在包的扫描配置。(2)使用@Component注解将工具类声明为spring组件,并静态初始化。代码截取:@Co...
SpringMVC Dao层注入到Service层,Service层注入到controller层及相关XML
1 本人新手,刚开始学习SringMVC框架,需要各个层之间的注入。 举个例子: 最初,在dao层实现service的方式是,new出来一个(每个方法都要new一次)。 IServiceImpl service =new IServiceImpl(); service.fill();//fill是我服务中的方法  完成注入之后,每个方法使用service如下: service.fill...
Spring+mybatis项目tomcat启动 dao接口(mapper)注入失败
Spring+mybatis项目tomcat启动 dao接口(mapper)注入失败 在做一个spring和mybatis的项目是,用tomcat启动报 org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'orderService': Injection of aut...
springboot+Mybatis定时任务 如何调用Mapper层。
今天在工作中遇到一个问题,在项目中的定时任务调用Mapper层的代码,出现空指针异常。最后在百度和请教前辈的基础上,解决了该问题,接下来做个总结: 首页要添加一个Spring的工具类代码如下: public class SpringContextHolder implements ApplicationContextAware { private static Application...
运用SSH框架,DAO无法注入的问题解决
在进行原项目的基础上开发功能的时候,出现了hibernate数据库与前台无法交互的问题。一步一步寻找答案:1、Struts.xml映射关系是否正确;2、applicationContext.XML类似的配置是否正确; &amp;lt;bean id=&quot;userAction&quot; class=&quot;com.action.UserAction&quot; scope=&quot;prototype&quot;&amp;gt; &amp;lt;property...
SpringMVC中DAO层bean无法创建的问题
No qualifying bean of type 'com.softwise1.dao.UserDao' available: expected at least 1 bean which qualifies as autowire candidate.
springboot 拦截器无法注入dao链接
如题,今天使用sprignboot在拦截器中想使用数据库,却发现注入的值为null。原因:拦截器是直接new出来的,加了 @Component 也没用。 解决:采用bean注入方式 ...
SpringBoot:Dao层mapper注入报红问题
在mapper接口上加上 @Component注解 例如:   就可以解决问题 原文链接:https://blog.csdn.net/Sir_He/article/details/81879854 
spring和mybatis整合的dao两种开放方式
spring是service层框架,这里的spring是指springframework,现在的spring已经在各个层次都有自己的一套解决方案,orm层有springdata,web有springmvc业务层有springframework,大家有时间可以自己研究下,这里只探讨spring和mybatis整合的dao开发 其实spring和mybatis整合时,dao的开发是围绕mybatis的
ssm例子一直报错userDao无法注入
哪个大神帮忙看看,谢谢啦
springMvc+Mybatis 最新版+Dao 层封装
springMvc+Mybatis 最新版+Dao 层封装; 使用了 2016-07-28 maven 上下载的当前最新版本jar包 4.3.2 搭建的 springMVC + Mybatis +DAO 层封装..仅供参考学习...
通过Spring整合MyBatis实现DAO层不用写实现类
配置文件spring.xml <!-- spring的核心配置 --> <!-- 加载连接池配置数据 --> <context:property-placeholder location="classpath:mysql.properties" /> <!-- 配置c3p0连接池,目的:管理数据库连接 --> <bean id="dataSource" class
mybatis+springmvc框架反射获取dao类
正常情况下,我们通过反射获取一个类对象是这样的: Class boClass = Class.forName("类名"); Object bsabo = boClass.newInstance(); 但是在使用mybatis框架的时候,dao类通常都是interface接口,这样获取会报错。作为一只刚开始使用mybatis框架的菜鸟,能模仿着使用,然而并不了解mybatis框架的原理,后来看
SSH框架 DAO注入失败 ---总结
开始运行SSH框架,发现service调用dao层时候一直报空指针错误,各种查看配置文件和调用,终于发现了问题 在action层里面写了一句this.setUserService(new UserServiceImpl()); 既然是注入,就不用new一个了 下面附上Java代码 UserAction.java private User user=new User(); priv
spring注解方式baseService中如何注入baseDao的问题
public abstract class BaseDao&amp;lt;E extends BaseEntity&amp;gt; extends JpaDaoSupport { /** * 创建实体 * * @param entity */ public void insert(E entity) { entity.se...
spring的普通类如何注入service、dao
版权声明:本文为博主原创文章,转载请注明地址http://blog.csdn.net/tianyaleixiaowu。 在spring管理的web项目里,譬如Struts和spring的项目,配置好后,Struts里就可以直接使用定义好的service。但是如果要在普通的工具类里,使用service或dao,就会报空指针,因为这个普通的Java类并不在spring管理下,不能使用spring
spring+mybatis通用dao层、service层的一些个人理解与实现
首先声明,本文所述只是鉴于本人在开发一些应用时的心得,仅供参考。 1、现在的绝大多数web应用,通常都以action、service、dao三层去组织代码,这样划分结构很清晰,分工明确 2、一般情况下,我们会把事务控制在service层。 3、action和dao层,会使用一些框架技术。比如action层可能选择有springmvc、struts等,dao层有hibernate、my
MyBatis集成到Spring之注入Dao接口
MyBatis 的 MapperScannerConfigurer 可以将 Dao 接口和 Mapper 文件注入到 Spring 容器中 更多精彩 更多技术博客,请移步 asing1elife’s blog 配置 &amp;lt;bean class=&quot;org.mybatis.spring.mapper.MapperScannerConfigurer&quot;&amp;gt; ... &amp;lt;/bean&amp;gt;...
初学SSM+mybatis单元测试遇到的问题,dao注入后为
Dao层注入失败,查看后,发现注解都写的无误,经朋友的指点,在测试类上加了一句“@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations={“classpath:spring/applicationContext-tx.xml”,“classpath:spring/applicationContext-servi...
@Autowired注入dao时失败
报错信息:{"code":406,"message":"Error creating bean with name 'newsController': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Erro
springboot+mybatis使用注解方式,出现错误创建dao层bean
今天项目里面的其他控制器都使用jpa注解进行数据的查询。我写的功能模块里面的控制器,要求不用jpa查询数据,使用mybatis的注解查询。在springboot项目中,写完后启动项目发现错误创建dao层bean,找了很久不知道为啥,最后发现项目中引入的jar包有问题,原来引入的jar包为mybatis和mybatis-spring的。修改成mybatis-spring-start后,重新启动项目,...
使用Spring开发中,service接口或者是dao层接口无法注入
1、使用Spring开发中,service接口或者是dao层接口无法注入,遇dao到这种情况,首先检查dao层和service层是否呗扫描到。 2、1不能解决则查看service接口是否有注解标示,或者检查自己写的dao和service对应配置文件中bean ID。 3、检查mybatis是否存在语法错误。
写一个简单的Ajax练习出错 使用mybatis的注入dao为null值,java.lang.NullPointerException
学习了SSM框架和Ajax想做一个简单的练习碰到问题 16-Aug-2018 09:48:53.212 严重 [http-nio-8088-exec-6] org.apache.catalina.core.StandardWrapperValve.invoke Servlet.service() for servlet [springmvc] in context with path [] th...
maven多模块Springmvc+mybatis读取配置文件和注入bean
最近在使用由maven构建的多模块项目,在开发过程中遇到了一些问题,在此记下解决的方法希望对出现同样或类似问题的朋友有所帮助。 首先说下我使用的技术,maven +springmvc +mybatis 注:整个项目使用spring的注解方式来实现管理。 然后说下我的项目结构: root --dao --service --common --web root是父模块,dao,service,comm
dao层不写实现类容易出现的错误及解决方法
这次碰到这个问题费了一番功夫,就想记下来,为以后提个醒,也希望大家能够看后少走弯路。         我配置的是spring+springMVC+mybatis框架,开始也是借鉴别人的代码,看到人家dao层不用写实现类就能直接映射mapper里的方法,我也想试试,可是一直报错,org.springframework.beans.factory.UnsatisfiedDependencyExcep
使用spring data jpa时,自动注入dao层报错
报错内容: org.springframework.beans.factory.BeanCreationException: Could not autowire fieldNoSuchBeanDefinitionException: No qualifying bean of type [cn.dao.system.UserRepository] found for dependency: ex
ssm框架中dao接口注入失败
https://blog.csdn.net/lzy_2016/article/details/78855799
文章热词 机器学习教程 Objective-C培训 交互设计视频教程 颜色模型 设计制作学习
相关热词 mysql关联查询两次本表 native底部 react extjs glyph 图标 dao学习 java 大数据基础层