属性 | 规格 |
---|---|
系统 | Centos(版本7以上) 64位 |
运行内存 | 4G(或以上) |
存储空间 | 40G(或以上) |
公网IP | 有 |
带宽 | 10M(以上) |
为了保证开发产品的质量,项目采用两人结对编程思想。
结对编程互相补充自身的不足,每个人对编程都有自己的理解,有着自己的思路以及风格有时自己编程显得非常冗余啰嗦,两人可以相互借鉴,在与人讲解自己的代码思路的时候也别有一番体会,对两个编程能力差不多的人来说真的收获很大。
同时开发和测试形成对抗体系
- 基础框架:Spring Boot
- 持久层框架:Mybatis-plus
- 安全框架:Apache Shiro ,Jwt
- 数据库连接池:阿里巴巴Druid
- 缓存框架:redis
- 搜索引擎:elasticsearch
- 日志打印:logback
- 其他:fastjson,quartz, lombok(简化代码)等。
src 源码目录
|-- common 各个项目的通用类库
|-- config 项目的配置信息
|-- constant 全局公共常量
|-- handler 全局处理器
|-- interceptor 全局拦截器
|-- listener 全局监听器
|-- modules 各个业务
|-- |--- user 用户模块
|-- |--- merchant 商家模块
|-- |--- login 登录模块
|-- third 三方服务,比如redis, oss,微信sdk等等
|-- util 全局工具类
|-- Application.java 启动类
------------------------------------------
|-- common 各个项目的通用类库
|-- |--- anno 通用注解,比如权限,登录等等
|-- |--- constant 通用常量,比如 ResponseCodeConst
|-- |--- domain 全局的 javabean,比如 BaseEntity,PageParamDTO 等
|-- |--- exception 全局异常,如 BusinessException
|-- |--- json json 类库,如 LongJsonDeserializer,LongJsonSerializer
|-- |--- validator 适合各个项目的通用 validator,如 CheckEnum,CheckBigDecimal 等
------------------------------------------
config 结构如下:
|-- config 项目的所有配置信息
|-- |--- MvcConfig mvc的相关配置,如interceptor,filter等
|-- |--- DataSourceConfig 数据库连接池的配置
|-- |--- MybatisConfig mybatis的配置
|-- |--- .... 其他
------------------------------------------
constant 结构如下:
|-- constant 常量
------------------------------------------
模块下结构如下:
|-- user
|-- |--- domain 领域类
|-- |--- |--- dto 数据传输对象(Data Transfer Object)
|-- |--- |--- vo 返回值,用于定义接口的返回数据格式
|-- |--- |--- entity 实体类,用于永久化或是封装查询结果
|-- |--- constant 常量
|-- |--- api api接口(control)
|-- |--- service 服务层
|-- |--- mapper mapper层
|-- |--- dao dao层
整体架构并不是Controller
,Service
,DAO
三层,因为这样我们为了不将压力压到数据库上,那我们必须将逻辑提到Service
层中,这会导致Service
层会非常厚,不宜维护。所以这里增加Mapper
层。
Mapper
层的作用如下:
- 对第三方平台封装的层,预处理返回结果及转化异常信息;
- 对
Service
层通用能力的下沉,如缓存方案、中间件通用处理; - 与
DAO
层交互,对多个DAO
的组合复用。
- 提交前应该冷静、仔细检查一下,确保没有忘记加入版本控制或不应该提交的文件。
- 提交前应该先编译一次,防止出现编译都报错的情况。
- 提交前先更新pull一次代码,提交前发生冲突要比提交后发生冲突容易解决的多。
- 提交前检查代码是否格式化,是否符合代码规范,无用的包引入、变量是否清除等等。
- 提交时检查注释是否准确简洁的表达出了本次提交的内容。