首页天道酬勤阿里巴巴java开发手册最新版,从零开始英语起步实战篇

阿里巴巴java开发手册最新版,从零开始英语起步实战篇

张世龙 05-05 12:57 81次浏览

以常规项目结构spring Boot maven的典型项目结构为例,创建的项目应总体分为三个级别。

项目根/src/main/java :配置项目的Java源代码

项目根/src/main/resources :部署项目的静态资源和配置文件

项目根/src/test/java :配置项目测试用例的代码

我很关心/src/main/java目录下Java源代码的组织结构。

阿里手册是如何约定的阿里巴巴Java开发手册(https://kangroo.gitee.io/ajcg/#/)

开放接口层:可以直接封装服务方法暴露于RPC接口; 进行经由Web封装在http接口中的网关安全控制、流控制等。

终端层—执行每个终端的模板渲染和显示的层。 目前,主要包括velocity渲染、JS渲染、JSP渲染和移动端展示。

Web层:主要是访问控制的传输、各种基本参数的检查,或者非复用业务的简单处理等。

服务层:比较具体的业务逻辑服务层。

经理层:是一种常见的业务处理层,具有以下特点:

对于第三方平台封装层,预处理返回结果,转换异常信息

服务层的通用能力下沉,如缓存计划、中间件通用处理等

与DAO层相互作用,复用多个DAO的组合。

DAO层:与底层MySQL、Oracle、Hbase等交换数据的数据访问层。

外部接口或第三方平台:包括其他部门的RPC开放接口、基础平台和其他公司的HTTP接口。

这里也展示了通常的典型结构。 毕竟,每个项目和团队的实践都不同,略有不同,但总体布局应该相似。 如果是多模块项目,则以下结构应该只支持其中一个模块: 其他模块的代码组织也大致相同。

各目录和详细介绍:

|_annotation :配置项自定义注释|_aspect :配置切片代码|_config :配置设置类|_constant :配置常量、枚举等定义|__constnt :存储常量定义_model :部署数据模型代码|__entity :部署数据库实体对象定义|__dto :部署数据传输对象定义|__vo :部署显示层对象定义| _service :部署特定业务逻辑代码(接口和实现__impl :存储业务逻辑实现|_utils :部署工具类和辅助代码,然后单击/src/main/resources 主要存储静态配置文件和页面的静态资源等。

| _ mapper :存储my batis的XML映射文件|_static :存储网页的静态资源,例如__bottom|_XXX.html等|_application.yml基本配置文件| _ application.yml _ application-test.yml测试环境配置文件| _ _ 这在《阿里巴巴Java开发手册》中有所谓的严格区分,但在那本书中是这样定义的:

数据对象(do ) :与数据库表结构一一对应,通过DAO层向上传输数据源对象。 数据传输对象(dto ) :数据传输对象、服务或管理器向外传输的对象。 业务对象(bo ) :业务对象。 从服务层输出的封装业务逻辑的对象。 应用对象(ao ) :应用对象。 在Web层和Service层之间抽象的复用对象模型与表示层非常接近,复用度不高。 视图对象(VO ) :显示层对象,通常是从Web传输到模板渲染引擎中的层的对象。 Query )数据查询对象,每一层接收来自上层的查询请求。 注意两个或多个参数的查询封装,禁止使用Map类进行传输。 一些注意事项建议控制层参数传输不要使用混列映射,建议数据模型定义;

虽然Controller层可以进行参数检查、异常抛出等操作,但建议不要放入太多业务逻辑,业务逻辑尽量放入服务层代码中进行

Service层可以创建实际的业务逻辑,按功能模块进行定义和区分,并相互调用

功能模块Service之间引用时,建议不要渗透到DAO层(或映射层),基于Service层进行调用和复用是合理的;

请勿混合使用业务逻辑层服务和数据库DAO层的操作对象。 控制层数据对象不应直接渗透到DAO层(或映射层); 同样,数据表实体对象Entity也不应直接传递到控制器层进行输出或显示。

springcloud组件,springcloud项目实战