1. 程式人生 > >解決service層無法註入

解決service層無法註入

bind 檢查 解決 命名 sta apache batis ring 讀者

  練手時發現個問題,路徑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層無法註入