284a589787
REM: 1. 添加.gitignore配置文件 2. 更新协议,将协议详细内容改为字符串 |
||
---|---|---|
.idea | ||
bin | ||
config | ||
src | ||
.gitignore | ||
README.md | ||
assembly.xml | ||
data-install.sh | ||
data-pom.xml | ||
install.sh | ||
phoenix-data.iml | ||
pom.xml |
README.md
phoenix基础工程脚手架
package分层
UserController OrderController PayController
该层有统一的RequestBody和ResponseBody的切面操作,主要用于请求报文解密和响应报文加密
UserService MemeberService GoodsService StockService
GlobalManager(Cache,ExternalSystem Interface)
Manager层编写规范
增
saveXXX,返回int,标明该方法影响的行数;传参对象实体或List
删
deleteXXX,返回int,标明该方法影响的行数;传参具体条件
改
updateXXX,返回int,标明该方法影响的函数;传参对象实体
查
findXXX,返回对象实体或List;传参具体条件
按照上述规范的方法可以加缓存注解进行统一缓存处理,List暂不做缓存处理,不满足上述规范的方法未必可行
缓存统一处理逻辑,参照MyCacheInterceptor
Manager层收口,也是为了后续数据层服务化提前做好准备
可单独打包出数据层服务源码jar,使用data-install.sh脚本
UserDAO GoodsDAO OrderDAO BillDAO
MYSQL DAO层使用了tk.mybatis,常用语句封装完善,只需要自定义复杂SQL即可, 具体参照com.cmcc.hy.phoenix.mapper.UserMappTest
接口层参数校验
参照com.cmcc.hy.phoenix.controller.DemoController
多个线程池
参照com.cmcc.hy.phoenix.thread.ThreadPoolConfig的多个线程池定义
轻量级定时任务
参照com.cmcc.hy.phoenix.task.MyTask
异步调用
参照com.cmcc.hy.phoenix.service.impl.AsyncServiceImpl
AOP自定义切面
参照com.cmcc.hy.phoenix.aop.MyInterceptor
前后端交互统一数据格式
参照com.cmcc.hy.phoenix.vo.MyResp,com.cmcc.hy.phoenix.vo.Resp
自定义配置加载
参照com.cmcc.hy.phoenix.config.MyConfig
基于redis的分布式锁
参照com.cmcc.hy.phoenix.task.MyTask
MOCK单元测试
参照test package
Swagger API
参照com.cmcc.hy.phoenix.controller.TestController.postTest()
常用工具
哈希加解密(AesCBC,AesECB,Des,3Des,Hmac,Md5,RsaECB,Sha1,Sha256,Sha512),具体用法见源码
正则表达式,常用正则
参照com.cmcc.hy.phoenix.common.PatternUtil
日期操作
参照com.cmcc.hy.phoenix.common.DateUtil hutool依赖,各种常用工具
日志管理
logback,参照config/logback.xml
工程打包
通过pom+assembly打出tgz,解压后的目录参照开源软件常规目录形式
xxx.tgz
bin 工程启停脚本
config 工程应用配置,日志配置
lib 工程依赖
xxx.jar 工程执行jar包
banner.txt 自定义启动字符画
运维标准目录
按照公司运维标准,把tgz包放到/apprun根目录下解压后运行即可
未完待续...