security-enterprise关于缓存、基类Service的建议

建议 1 1890
swxu
swxu VIP1 2018-10-31
感谢作者的更新,新版security比几个月前的大变样了。当时我提了Layui跟vue混着写不友好,现在就改掉了,还是很赞的啊! 现在个人有几个建议,不知是否合理face[微笑] 一、缓存方面的建议: 1、每次访问,为了判断当前用户是否有权限访问,都要3~4次的数据库读操作,其中还有表关联。 是否可以使用Spring-cache,为ShiroServiceImpl中的相关方法加上@Cacheable。Spring-cache,可以配置使用redis或者caffeine(guava的升级版)。 当用户、角色、权限等发生修改时,可以通过@CacheEvict,使相关缓存失效。 2、对于需要自己写代码来读写缓存的情况,比如CaptchaServiceImpl里面,是否可以统一出一个CacheService。该CacheService提供set、get操作,内部根据配置决定用redis还是caffeine。 这样,自己开发的业务里,如果也有需要操作缓存的话,直接调CacheService的set, get即可。 二、基类Service的建议: 如果都统一使用DTO跟前端交互的话,XxxService、XxxServiceImpl中的page、list、get、save、update、delete等6个方法是不是也可以挪到BaseService、BaseServiceImpl中?只要泛型参数多加个DTO类型。 这样对于简单的模型,生成的代码就更精简了,只要把多条件分页查询定制一下。
回帖