SSM框架启动服务器后报错 500Request processing failed; nested exception is java.lang.NullPointerException

使用SSM框架做完一个小功能后启动服务器访问user/findAll,报错Request processing failed; nested exception is java.lang.NullPointerException user/findAll是设置请求路径为user的一个controller类中的findAll方法
请问大家是哪个地方错了
具体报错如图

img

报错信息是空指针错误,位置在UserServiceImpl里

@Service("userService")
@Transactional
public class UserServiceImpl implements UserService {

    @Autowired(required = false)
    private UserDao userDao;

    /**
     * 查询所有
     * @return
     */
    @Override
    @Transactional(propagation = Propagation.SUPPORTS)
    public List findAll() {
        return userDao.findAll();
    }
}

第27行是最后的return userDao.findAll();

已通过测试类 测试完成findAll方法可以正常完成查询
并且serivce层注入的dao对象 与controller层注入的service对象都加上了@Autowired注解
下面是service和controller的代码

img

img

controller最后return的是userManage.jsp页面
该页面代码

img

试试把@Autowired换掉呢 使用@Resource引入
打断点在27行看一下 UserDao有可能没有引入进来
也可能你的UserDao 压根就没有被Mybatis扫描到根本就没起作用
看看有没有配@Mapperscan

这个空指针应该是你的ssm整合有问题,springformark整和有问题

看一下dao有没有被注入进来,,如果没有,查看一下mybatis的扫描路径,是否和你dao的路径对应。