首先我在项目中有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时会报出这样一个找不到的错误,而实际项目运行的时候不会报错,我想知道这个问题怎么解决呢?
#现在此处感谢大神的不吝赐教.
你把spring配置注解最外层包路径应该是动态代理的问题吧,看来只能通过ide配置取消错误提示了.dao层是interface,实现类是通过代理生成的,估计这种方法行不通呀
你用的代理方式,会在运行时生成代理类。IDEA还没智能到能检测里运行时生成的类。
原来如此,那应该是明白了版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。