dispose/Project.md

127 lines
3.1 KiB
Markdown
Raw Normal View History

> phoenix基础工程脚手架
>> package分层
>>> UserController OrderController PayController
>>>> 该层有统一的RequestBody和ResponseBody的切面操作主要用于请求报文解密和响应报文加密
>>> UserService MemeberService GoodsService StockService
>>> GlobalManagerCache,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根目录下解压后运行即可
> clone该工程后需要修改phoenix-boot名字的文件如下
>> pom.xml
>> assembly.xml
>> bin/log_clean.sh
>> bin/processor_check.sh
>> bin/start.sh
>> bin/stop.sh
未完待续...