在做查询用户的详细信息的时候(详细信息包含了用户对应的角色(多对多),角色对应的权限(多对多),在写完代码后,运行测试发现不能登陆用户了,控制台报错为:
ExecutorException: No constructor found in void matching[java.lang.String, java.lang.String, java.lang.String]
没有找到对应的构造方法,报错行为:userDao.findByUserName:,但是方法内没有报错
@Override
public UserDetails loadUserByUsername(String username) {
UserInfo userInfo = null;
try {
userInfo = userDao.findByUserName(username);
仔细阅读错误信息,说在void 中匹配不到,最后在我新写的Dao中找到一个错误的返回方法,将void findById(),改为 List<具体类> findById()后恢复,
原来Mybatis里的错误配置会影响所有的功能,。
本文描述了一个关于Mybatis配置错误导致用户登录功能失效的问题。在查询用户详细信息时,由于Dao层方法返回类型配置不当,从void改为具体的List类型后,成功解决了ExecutorException异常,恢复了所有受影响的功能。

被折叠的 条评论
为什么被折叠?



