需求:所有的接口中,有关于用户操作(提交数据)的接口,现在都需要加上该用户是否有效判断。
分析:常规做法 在公共类中编写一个方法,该方法的功能是:去判断该用户当前是否有效。 如下@Componentpublic class Utils { @Autowired private UserMapper userMapper; /** * 判断该用户当前是否有效 */ public void name(Integer userId) { userMapper.selectByPrimaryKey(userId); }
存在如下问题
1.我将Utils加入到spring的扫描包中,但是userMapper初始化为null。 2.由于UserMapper是spring-mybatis扫描的,因此我怀疑需要将Utils添加到这里后面那个是我加的。
很遗憾,userMapper还是null。 没有时间做过多的验证。希望阅读此博文者给出合理的解释。 如今有解决方法, 由于在实现层可以很好的调用userMapper,因此,我们可以将验证用户是否有效的方法写在某个实现层(我写在用户实现层,因为需要使用userMapper,对应的实现层应该是userServiceImpl,对应的接口就是userService),当然该方法需要在userService中定义,因为其他的实现层不能直接调用userServiceImpl,但是可以调用userService,所以需要写在userService中。