项目中使用Shiro出现空指针异常的问题

在项目中使用Shiro框架进行权限控制时,出现如下问题:
项目中使用Shiro出现空指针异常的问题
通过输入语句打断点发现ServiceImpl出现Null,通过对Shiro流程的梳理发现错误原因是:
项目中使用Shiro出现空指针异常的问题
将本该在ServiceImpl类方法上标记的注解误写到Action的方法上,因为Shiro在执行过程时会通过被代理对象动态创建代理对象,而被代理对象是如何被准确找到呢?是通过Shiro注解找到,比如@RequiresPermissions()等,因为标错位置,导致在Action注入ServiceImpl对象时就成Null,从而出现此错误,解决方法,将@RequiresPermissions注解写到ServiceImpl类的方法上即可解决。