### 项目自定义规范 只是一些建议性的东西,大家有什么好的想法,都可以提出来。 - 现在暂时定义为v1版本,所有的api以 /v1/模块/功能 - 采用restFul风格的URL - 返回数据的格式,全部采用ResponseDto ,data字段为传递的数据 - 前后端分离,采用json格式进行数据传输 - 根据 ResponseDto 的code字段判断请求操作是否成功。如果失败,返回非200的请求码 - *最好将系统的代码和自己的区分开来,自己的代码写在cn.gygxzc.envir.biz 目录下* - *一键生成数据库相关代码配置在cn.gygxzc.envir.config.orm 包下,请自行配置相关参数* ### 项目说明 项目中缓存可以分成三类: - 系统Spring session缓存,shiro缓存 - 获取当前登录用户信息 SessionUtils 工具类 ### 框架项目升级日志 #### 2018/9/27 升级框架的安全认证方式,改成jwt 和Spring session分布式方式认证。权限由网关统一认证。 #### 2018/9/28 已初步完成Spring session的分布式认证,下一步将移除shiro 依赖即权限认证。 - 将数据库 DAO类文件卸载 zen-api 下的 cn.gygxzc.envir.biz.dao 路径下 - 如果需要写 mapper.xml 请写在 resources/mapper 文件夹下,可以在有目录比如;resources/mapper/biz - 项目包名统一为 cn.gygxzc.envir.** - 项目对mybatis plus进行了升级,使用的是mybatis-plus 3.0,与之前有一定区别,具体可见[文档](http://mp.baomidou.com/guide/wrapper.html#querywrapper) #### 2018/9/29 ##### 1、添加配置中心,将配置中心与即时通信消息系统结合起来 ##### 2、 添加Spring bus。服务间的消息通知。 这一点举一点应用:业务系统需要向前端或者用户发送消息, 只需要调用发送消息的sender即可。由消息中心把消息发送给前端用户。 ##### 3、 删除shiro配置。 但是因为授权中心使用shiro,导致客户端不能完全移除shiro依赖,但是只引用了shiro的核心包。 具体原因是:授权中心shiro在生成的session中放入了shiro包中的类实体对象,jdk序列化之后,在各自的业务系统中反序列化,如果不引入shiro核心包,将 导致jdk反序列化失败,导致各自业务系统无法获取到当前登录的用户信息。 ##### 4、 精简大量yml 文件配置,只保留必要的部分。 有了配置中心的存在,可以将所有项目的公有和私有配置放到配置中心,而无需大量放到本地。 ##### 5、移除Tomcat依赖,添加jetty依赖 Jetty 更加轻量化,更符合Spring Cloud 分布式部署;当然,这个还需要验证和考量。 ### 后期计划 - 将继续精简shiro相关配置,直至完全移除;(已完成) - 消息总线 (已完成) - 日志记录 - 即时通信整合(估计会另外建一个项目来做即时通信)