记得在六个月前,我自己曾设想过一套Prism框架,只是当初想法刚萌芽不是很成熟,虽然现在也只是迈出了一小步,但我会在接下来的时间去继续优化Spring A.S,让他更加茁壮及易用。
我对Spring A.S的一些简单的初期设想及理念:更加注重业务层的开发,即开发时只需关注业务逻辑层及SQL的写法,而无需再去为了C层及其他中间层代码而浪费时间
当前版本已实现:
1.根据PDM自动生成DAO层及核心查询字段配置,融合graphql的理念,实现了用一取一的可调节SQL及数据返回模式
2.初步集成了Redis(多线程高并发处理方面尚有问题需要优化)
3.实现了Prism,也就是Spring A.S的棱镜的设计理念及底层搭建
V0.2版本预计实现功能:
1.后台代码的简化,公用方法进一步提出
2.融合Hchars的四种简单图表后台数据处理(即只需要写出符合规范的SQL)
3.权限及流程模块的初步搭建
--->大致的框架结构如下
com.sample.cloudhealth.aop:
AOP切面层:主要用于登录拦截及权限控制
若需开启拦截功能(针对Controller层),则将@Around注解的注释删除。
com.sample.cloudhealth.api
*[核心代码层]底层数据交换映射层:主要对DAO层进行反射,以及完成简单的Service逻辑控制操作,简 化Schema层调用实现。
com.sample.cloudhealth.controller:
*[核心代码层] 对外接口层:集成型接口,本层不实现任何逻辑,仅根据传入参数进行对应的数据匹配返 回,本层代码禁止修改。
com.sample.cloudhealth.dao
数据持久化层:本层分为两种类型文件,使用注解实现,减少Mapper配置文件,轻量化代码占用
1. BaseDAO:全局基本化自动生成数据持久化层文件(可以通过pdm进行自动生成)
2. XXExDAO:自生复杂逻辑数据持久化层文件,强制性命名规范为:[XXX+ExDAO],建议XXX使用具有实际意义的单词
com.sample.cloudhealth.schema:
业务逻辑层:本层与DAO层一致,分为两种类型文件
1. *[核心代码文件] BaseSchema:全局基本定义简单逻辑文件[用于实现BaseDAO生成的增删改查逻辑操作]
2. XXXExSchema:包含了复杂逻辑的业务处理实现强制性命名规范为:[XXX+ExSchema],建议XXX使用具有实际意义的单词
com.sample.cloudhealth.tools:
插件工具类:一些常用的代码方法提出,如日期格式化,IP地址获取,生成UUID等。
com.sample.cloudhealth.util:
核心工具类:一些关键性的工具类配置。
.Auth:安全工具包,主要用于Token管理(目前使用了sche二级内存缓存,可根据需要调整为MQ+Redis实现)
.cache:内存缓存工具包,主要用于部分数据的内存缓存管理
.pdmHelper:pdm自生成代码工具包,用于生成系统BaseDAO /BaseTableCfg核心配置文件及SQL建表语句。
.redis:Redis集成工具包[尚在调试中,将在下期正式启用]
.BaseCoreCfg:核心反射文件配置,主要用于对自生DAO及Schema的反射配置
.BaseTableCfg:核心全查询字段文件配置,由系统自动生成,*注意外链表表名可能会有细微变化,如A0,A1等,使用时请注意!
CloudHealthApplication:SpringBoot主启动类
Resource/application.yml 系统主配置文件
Test/com/sample/cloudhealth:主测试文件
Test/com/sample/generate :代码生成主文件
---> 具体代码和使用文档我整理完后会提供并上传到码云,如果大家有什么好的意见或建议也可以一起交流进行完善和修正,谢谢大家。
GitHub地址:https://github.com/HaoNanYanToMe/SpringAS.git
码云地址:https://gitee.com/oneHeartoneSimple/SpringAS.git