使用mybatis配置dao,在service层中注入dao组件会报错?报错-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文

使用mybatis配置dao,在service层中注入dao组件会报错?报错

爱吃鱼的程序员 2020-06-07 22:38:21 120

首先我在项目中有dao层组件(接口和xml映射文件),service层有service接口和对应的实现serviceImpl.

dao接口上添加注解:

@Repository("userMapper")

serviceImpl上添加注解:

@Service("userService")

1.在spring-mybatis.xml配置文件中首先配置了dataSource,然后配置了sqlSessionFactory,紧接着配置了MapperScnnerConfigurer.用于扫描扫描dao组件并注册到容器中.代码如下:

<bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
    <property name="dataSource" ref="dataSource"/>
    <property name="mapperLocations" value="classpath:org/panda/mapping/*.xml"/>

</bean>

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
    <property name="basePackage" value="org.panda.dao"/>
    <property name="sqlSessionFactoryBeanName" value="sqlSessionFactory" />
</bean>//省略druid数据源和事物设置

2.在spring.xml中扫描

<mvc:annotation-driven />
<context:component-scan base-package="org.panda.service.impl"></context:component-scan>

3.在spring-mvc.xml中扫描:

<mvc:annotation-driven />
<context:component-scan base-package="org.panda.controller" />

//此处省略视图解析器配置

综合上述,出现问题:

在往serviceImpl中注入dao时会报出这样一个找不到的错误,而实际项目运行的时候不会报错,我想知道这个问题怎么解决呢?

                                                               #现在此处感谢大神的不吝赐教.

XML 前端开发 druid Java 数据库连接 数据格式 容器 mybatis
分享到
取消 提交回答
全部回答(1)
  • 爱吃鱼的程序员
    2020-06-07 22:38:35

    你把spring配置注解最外层包路径应该是动态代理的问题吧,看来只能通过ide配置取消错误提示了.dao层是interface,实现类是通过代理生成的,估计这种方法行不通呀

    你用的代理方式,会在运行时生成代理类。IDEA还没智能到能检测里运行时生成的类。

    原来如此,那应该是明白了

    0 0
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

推荐文章
相似问题
推荐课程