整合过程当中遇到最坑的一点
org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): com.focre.adminrest.modular.sysuer.service.SysUserService.getById
会出现这个的原因,是因为 2.X的注入方式与1.X的注入方式不一样。
我发现,在使用 mapper 调用方式的时候是可以正常使用的,但是,一旦涉及到 Service 的调用时候,就会报上诉错误。
SysUserService
/**
* @ClassName: SysUserService
* @Description:
* @Author ye21st
* @Date 2019/9/9 9:32 上午:01
*/
public interface SysUserService extends IService<SysUser> {
}
SysUserServiceImpl
@Slf4j
@Service
@Transactional(rollbackFor = Exception.class)
public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements SysUserService {
}
使用方式:
@Slf4j
@RestController
public class AuthController extends BaseController {
@Autowired
private SysUserService sysUserService;
@RequestMapping(value = "${jwt.route.login}",method = RequestMethod.POST)
public ResultDto login(@RequestBody Map<String,Object> map){
return resultSuccess(sysUserService.getById(1));
}
}
这样使用就会报如上错误,解决方式如下:
@Slf4j
@RestController
public class AuthController extends BaseController {
@Autowired
private SysUserService sysUserServiceImpl;
@RequestMapping(value = "${jwt.route.login}",method = RequestMethod.POST)
public ResultDto login(@RequestBody Map<String,Object> map){
return resultSuccess(sysUserServiceImpl.getById(1));
}
}
将引用的命名改为实现层的类名,首字母小写,即可正常调用 service 方法。