Skip to content

zjbshk/senior-mall-service

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

26 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

后端服务器

属性 规格
系统 Centos(版本7以上) 64位
运行内存 4G(或以上)
存储空间 40G(或以上)
公网IP
带宽 10M(以上)

其他参考文档

JAVA开发规范整理篇 项目开发用到的工具或平台

结对编程的思想

为了保证开发产品的质量,项目采用两人结对编程思想。

结对编程互相补充自身的不足,每个人对编程都有自己的理解,有着自己的思路以及风格有时自己编程显得非常冗余啰嗦,两人可以相互借鉴,在与人讲解自己的代码思路的时候也别有一番体会,对两个编程能力差不多的人来说真的收获很大。

同时开发和测试形成对抗体系

后端技术架构

- 基础框架: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,Mapper ,DAO

整体架构并不是Controller,Service,DAO三层,因为这样我们为了不将压力压到数据库上,那我们必须将逻辑提到Service层中,这会导致Service层会非常厚,不宜维护。所以这里增加Mapper层。

Mapper 层的作用如下:

  • 对第三方平台封装的层,预处理返回结果及转化异常信息;
  • Service 层通用能力的下沉,如缓存方案、中间件通用处理;
  • DAO 层交互,对多个DAO 的组合复用。

代码提交规范

  • 提交前应该冷静、仔细检查一下,确保没有忘记加入版本控制或不应该提交的文件。
  • 提交前应该先编译一次,防止出现编译都报错的情况。
  • 提交前先更新pull一次代码,提交前发生冲突要比提交后发生冲突容易解决的多。
  • 提交前检查代码是否格式化,是否符合代码规范,无用的包引入、变量是否清除等等。
  • 提交时检查注释是否准确简洁的表达出了本次提交的内容。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published