导图社区 struts2升级到springBoot
公共用户权限管理,struts2升级到springBoot,DaoImp的SQL语句需要在mapper.xml重写一遍,并删除DaoImpl。
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
公共用户权限管理
注意事项
先将代码结构原封不动的导进新项目
暂不设置统一的返回值,保持原来的数据格式
涉及到科室的先不改造,还是采用运营组内的科室结构,内部提供一个统一调用方法
先保证程序能跑起来
升级步骤
这一步当中,除了带有星星的步骤较为复杂外,剩余的都是一些机械性的替换操作,可通过多人协作的方式加快进度
@TableId
@TableId注解,需要指定value属性,value值为主键的字段,否则默认为id,例如:@TableId(value="pk")
原hibernate框架若指定了@GeneratedValue和@GenericGenerator需要根据原来的Id生成策略重新设置type属性,例如:@TableId(type = IdType.ASSIGN_ID)
字段属性
所有字段必须使用@TableField注解,注意字段名称与属性名称的映射关系
全局改造
通过getRequest().getSession()获取HttpSession
将Page替换为HdrPage或者重新引入mybatis-plus的Page
pageNo和pageSize需要定义为long类型(老版是int类型)
使用了List<PropertityFilter>需要重构为List<HdrFilter>,善用Wrapper
这一步工作量较大,需要了解代码逻辑
使用SecurityCommonUtil获取当前登录用户
将SpringContextHolder全部改为hutool的SpringUtil
SimpleJdbcDao
Action
所有的Action继承BaseController
将所有的Action接口设置返回值类型,不再使用renderJson
手动去设置每个接口的访问地址
删除getService方法
Service
所有的Service接口需要继承BaseService
所有的ServiceImpl需要继承BaseServiceImpl
所有的ServiceImpl需要删除getDao和setPK方法
所有ServiceImpl中的业务逻辑需要改变
Dao
将***Dao改为***Mapper并继承HdrBaseMapper
对于复杂的DaoImpl需要配置mapper.xml,简单查询可在Mapper接口使用@Select注解
DaoImp的SQL语句需要在mapper.xml重写一遍,并删除DaoImpl
这一步工作量较大,需要了解SQL逻辑
entity
实体类去除hibernate相关的注解,改为mybatis-plus注解
实体类中使用了级联查询的需要在mybatis中重新配置一边
去掉继承的BaseAbstractEntity,改为继承BaseEntity
删除getPrimaryKey()方法
增加@TableName注解
@TableId注解需要指定value属性,否则默认主键字段为id
枚举
所有实现了EnumType接口的枚举类需要重新导入(路径有变化)
功能设计
这一步需要慎重考虑,如何围绕新版的权限去重新设计,并要考虑现场升级时,尽可能保证原功能的全貌
指标订阅
PC端指标订阅
移动端指标订阅
因为涉及到与角色关联,所以需要将旧版的逻辑改为新版的
获取系统(菜单)列表
指标管理
数据导出
模型授权功能
多维分析
这几个功能都设计到读取系统和菜单列表,需要改动相关代码逻辑
动态数据源切换(基于mybatis的改造)
资源管理
是否指标块
是否外部打开
定时刷新时间
内部增加一张资源对照表,将以前加在资源上的字段迁移至此
用户登录
pc端登录
移动端登录
单点登录
用户登录成功后,后续的所有请求需要header中加入token
多院区选择
获取用户院区、科室权限
内部提供一个统一调用的方法
功能测试
单元测试
集成测试
主要由研发人员自测,保证功能正常使用
代码解耦
核心代码归到core模块
hoas和happ模块只保留相关的功能
现场升级
各个系统需要重新录入(可提供同步功能)
各个菜单需要重新录入(可提供同步功能)
hmiap_section_role需要重新设置pageCode和roleCode字段
happ_role_layout需要重新设置pageCode和roleCode字段
会重新生成系统主键和菜单主键,用到这两个字段的功能都得改