解决service层无法注入

Posted 张亚南

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决service层无法注入相关的知识,希望对你有一定的参考价值。

  练手时发现个问题,路径404,各种检查发现,多加了一层<context:component-scan base-package="com.yanan.controller"/>写成了<context:component-scan base-package="com.yanan.*.controller"/>

解决后,发现service注入失败

org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.yanan.service.UserService.getListUsers

排查发现,扫描时

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.yanan.mapper"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
</bean>成功

<bean class="org.mybatis.spring.mapper.MapperScannerConfigurer">
<property name="basePackage" value="com.yanan.*"/>
<property name="sqlSessionFactoryBeanName" value="sqlSessionFactory"></property>
</bean>失败

由此可见,扫描时*不是万能的,尽量指明具体包。

搭建环境是springmvc+mybatis+maven多模块。或许多模块下报的命名有关?还是本身扫描的包不能太宽泛?理解不深,请各位读者多多指教

 

以上是关于解决service层无法注入的主要内容,如果未能解决你的问题,请参考以下文章

java定时器无法自动注入的问题解析(原来Spring定时器可以这样注入service)

quartz整合spring框架service层对象注入为null解决方案

静态方法注入service层

SpringBoot中普通类无法注入service的解决方案

SpringBoot拦截器中service或者redis注入为空的问题

拦截器中@Autowired注入失效,获取service解决