基于Spring Boot构建应用开发规范 原创 secondriver 2018-03-01 14:29:11 博主文章分类:软件工程 ©著作权 文章标签 SpringBoot 项目规范 文章分类 spring boot 后端开发 ©著作权归作者所有:来自51CTO博客作者secondriver的原创作品,请联系作者获取转载授权,否则将追究法律责任 1.规范的意义和作用 编码规范可以最大限度的提高团队开发的合作效率 编码规范可以尽可能的减少一个软件的维护成本 , 并且几乎没有任何一个软件,在其整个生命周期中,均由最初的开发人员来维护 编码规范可以改善软件的可读性,可以让开发人员尽快而彻底地理解新的代码 规范性编码还可以让开发人员养成好的编码习惯,甚至锻炼出更加严谨的思维 2.代码仓库规范 2.1公共组件 公共组件通常指Java库,提供特定问题的处理程序包 公共组件仓库地址:https://git.company.com/java-library-group 公共组件的坐标命名规范 分组编号:<groupId>com.company.library</groudId> 固定取值 组件名称:<artifactId>name</artifactId> name根据组件名称定义 组件版本:<version>x.y.z</versio> x.y.z根据组件实际版本情况定义 2.2服务组件 服务组件通常指可以独立部署,运行,维护的服务程序包 服务组件仓库地址:https://git.company.com/server-microservice-group 应用组件的坐标命名规范 分组编号:<groupId>com.company.server</groudId>固定取值 组件名称:<artifactId>name</artifactId> name根据组件名称定义 组件版本:<version>x.y.z</versio> x.y.z根据组件实际版本情况定义 3开发环境规范 开发环境:JDK1.7+ 开发工具:IntelliJ IDEA 2017(安装Lombok Plugin) 构建工具:Maven3.x 代码管理工具:Git /TortoiseGit 4.项目结构规范 4.1简述 一个项目对应代码仓库中的一个仓库,项目结构是指一个基于Maven创建的项目目录结构。公共组件项目,通常会创建一个Maven普通项目。服务组件项目,通常会创建一个Maven聚合项目,并在聚合项目目录下创建多个继承Maven聚合项目的Maven模块,它们一起作为服务组件项目的组成部分。 4.2项目名 要求 英文名称,作为仓库,项目,项目根目录,组件(公共组件,服务组件)的名称 中文名称,用于代码仓库的描述 项目名称和代码仓库的名称保持一致 定义 项目名称通常由团队负责人确定 示例 项目中文名:人脸数据仓库 项目英文名:data-warehouse-face 项目目录名:data-warehouse-face 项目仓库地址:https://git.company.com/server-microservice-group/data-warehouse-face.git 初始版本:1.0.0 示例是一个服务组件,根据上面定义的信息确定该服务组件的Maven坐标命名: <groupId>com.company.server</groupId> <artifactId>data-warehouse-face</artifactId> <version>1.0.0</version> 4.3模块命名 要求 模块名称:{项目名称}-{模块名称} 模块名称简洁体现职责 模块名字作为模块组件的名称 示例 人脸数据仓库的数据接入模块名称:data-warehouse-face-access 4.4项目目录 项目目录遵循Maven约定目录格式 4.5源码目录 源码目录指:{项目目录}/src/main/ 打包定义目录:src/main/assembly 代码目录:src/main/java 资源目录:src/main/resources /db:数据库脚本归档 /data:内部依赖数据归档 文档目录:src/main/docs 脚本目录:src/main/bin run-manage.sh 运行管理脚本(通过参数start, stop, status, help info控制程序运行) sh:服务组件启动脚本 sh:服务组件停止脚本 5.编码规范 5.1包规范 项目基本包:com.company.{项目英文名(较长时适当简化)}.{模块名(可选)} config:配置类 startup:与服务启动相关的类 client:提供客户端实现的相关类 common:公共类,定义常量类,组件 entity: 数据库相关的实体类 model:数据模型类(参数模型,数据传输模型等) control:控制层接口 service: 服务层 dao:数据库访问层 5.2日志记录 统一使用SLF4j接口 5.3异常处理 运行时异常:通过参数检查等方式避免或抛出运行时异常,日志记录 检查异常:检查异常需要捕获,处理,日志记录 5.4接口定义 原则 接口地址定义表明用意 接口地址定义清晰,简洁,无歧义 同一个服务组件的接口定义具有一致性 格式 控制类的顶层地址格式:/{顶层分类名},例如:/library 人员库相关接口的顶层地址 接口定义使用Swagger的API注解说明 标注完整的请求信息,请求方法,请求地址,参数可选性,接口描述 请求方式 GET URL-Params POST Form-Data POST RequestBody(JSON格式) POST Mulitpart 响应方式 统一的响应模型 5.5辅助工具 字符串处理:apache common-lang3 时间日期处理:joda-time JSON处理:Gson,Fastjson 集合扩展工具:guava 文件和流处理:commons-io 编解码:commons-codec 建议:尽可能使用开源组件 5.6代码注释 类,接口,枚举顶层注释 接口方法注释 静态方法注释 公开方法注释 类的属性字段注释 常量注释 不限于以上 6.代码控制规范 6.1拉取原则 强制 每日开始工作拉取 约定 提交之前拉取 6.2提交原则 强制 提交代码必须构建成功(比如:编译,打包成共) 提交代码必须完整(比如:少提文件) 提交代码必须忽略到本地临时文件(比如:target, logs, .idea, *.iml,dist 等) 约定 完成一个功能提交 修改一个Bug修改提交 解决冲突提交 每日结束工作提交 6.3提交注释 强制 中文填写注释 注释反映本次提交变更情况 约定 注释描述添加前缀,前缀如下 [创建] 通常在项目创建时使用 [新增] [修改] [删除] [修复-number] 修复Bug使用,number是Bug编号 7.构建规范 7.1公共组件构建规范 构建输出组件包 构建输出组件源码包 构建发布到公司私有仓库 7.2服务组件构建规范 服务组件包命名:{组件名称}-{版本号}-bin.zip 构建输出到工程根目录下的dist/{组件名称}-{yyyyMMddHH}目录 赞 收藏 评论 分享 举报 上一篇:我的友情链接 下一篇:Caddy代理SpringBoot Fatjar应用上传静态资源 提问和评论都可以,用心的回复会被更多人看到 评论 发布评论 全部评论 () 最热 最新 相关文章 Python实战项目:开发桌面版学生管理系统(进阶版).1 Python实战项目:开发桌面版学生管理系统(进阶版).11.创建窗口2.设置窗口基本信息3.设置窗口内容4.设置登录退出程序 退出程序 文本框 窗口大小 Python实战项目 学生管理系统 Python实战项目:开发桌面版学生管理系统(进阶版).3 Python实战项目:开发桌面版学生管理系统(进阶版).31设置单个菜单栏下内容2导入模块并调用方法3定义点击按钮弹出信息方法4设置录入页面内容5数据保存6设置查询数据页面 数据 菜单栏 返回结果 Python实战项目 学生管理系统 springboot项目跨域问题处理 如上如图所示,请求项目接口提示:java.lang.IllegalArgumentException: When allowCredentials is true, allowedOrigins cannot contain the special value "*" since that cannot be set on the "Access-Control-Allow-Origin" res 跨域 项目管理规范 项目组编制 项目经理:1人 产品经理:1~2人 后端工程师:2人 前端工程师:1~2人 客户端工程师:2人 测试工程师:2人 设计师:1人 项目职责 项目经理 对项目进度和质量负责 主导项目组内沟通,营造良好团队氛围 参与产品讨论与决策,协助产品经理进行技术评测 定期组织项目进度会,及时发现并处理项 项目经理 项目计划 产品经理 项目开发流程规范 注意:没有通过内容PM对接的需求,RD、QA不可直接进行对接;需求预审:需求预审由PM主R并发起:需求正式评审宣讲前2~3天(或自由安排)由PM发出需求预审邀请:邮件或群周知;与会人员为PM、UED与RD侧、QA侧小组长即可;高效完成预审工作;需求预审过程中商讨确认需求可行性、技术可行性等,多角度评估需求质量;有问题提前抛出风险前置;需求预审可根据项目大小灵活增加,如大型项目需增加此过程,如业务迭 开发流程规范 QA 开发 产品 Git团队开发管理规范、GitFow规范 Git团队开发管理规范,GitFlow开发规范 Git 项目管理 团队管理 可持续集成 C#项目开发规范 C#项目开发规范 c# pascal class string interface Git团队开发管理规范、GitFlow流程规范 Git团队开发管理规范、GitFlow流程规范Git管理规范一、Git代码仓库创建规范1.1 代码仓库创建规范1.2 Groups使用规范1.3 目录结构及权限介绍1.4 README文件规范二、代码提交规范(*)2.1 commit三要素2..2 标题2.2.1 类型2.2.2 改动范围2.2.3 精简总结2.3 内容2.4 备注三、分支管理规范 git git flow gitlab springboot开发项目教程 springboot 开发规范 SpringBoot2.X开发规范解读 简介:讲解SpringBoot目录文件结构和官方推荐的目录规范、静态资源访问1.目录讲解 src/main/java:存放代码 src/main/resources static: 存放静态文件,比如 css、js、image, (访问方式 http://localhost:8080/js/main.js) templates:存放静态页面jsp,html, springboot开发项目教程 spring boot 配置文件 spring tomcat springboot项目开发需求文档 springboot 开发规范 一、Spring Boot注解通过上一篇文章,我们已经快速构建了一个spring boot的项目,那spring boot项目和我们之前使用的springMVC项目有什么区别呢,这一篇我们就来聊一下spring boot为我们开发所带来的便捷性以及配置文件的使用。二、建立一个controller@RequestMapping("/round2")@RestControllerpublic cl springboot项目开发需求文档 spring 配置文件 实体类 Springboot项目开发文档 springboot 开发规范 文章目录一、SpringBoot对静态资源的映射规则1.1 /webjars/映射1.2 staticPathPattern映射1.3 欢迎页映射1.4 标题图标映射二、使用Thymeleaf模板引擎2.1 Thymeleaf介绍2.2 语法规则2.3 表达式三、SpringMVC自动配置3.1 SpringMVC auto-configuration3.2 修改SpringBoot的默认配置3 Springboot项目开发文档 SpringBoot web java 静态资源 Java项目管理规范 java项目开发规范 前言java编程写在Java开发之前,做事总是要有个规则,因此,本文主要从编程规范来介绍,毕竟,无规矩不成方圆嘛。方法命名规则方法命名:a) 方法命名采用大小写混合的形式。以小写字母开头,名字中其他单词的首字母以大写字母开头, 所有其它的单词都为小写字母,不要使用下划线分隔单词;b) 方法的命名应该能描绘出方法的作用和功能,方法的名字建议使用祈使动词或者动词短语;c) 获取或者设置类的某种属性的方 Java项目管理规范 java开发规范 命名规则 下划线 名词短语 springboot项目架构讲解 springboot项目结构规范 查看初始化的 Spring Boot 新项目前面一篇已经大致讲解了如何生成spring boot项目,是里面的配置在这章做个大致的总结。spring boot 项目文件说明: 1. build.gradle:Gradle构建说明文件。//用maven构建的话就是pom.xml文件 2.DemoApplication.java :应用程序的启动引导类(bootstrap class springboot项目架构讲解 spring xml maven springboot bootstrap 开发 spring boot开发规范 Spring Boot 的核心:约定优于配置约定优于配置,也称作按约定编程,是一种软件设计范式,旨在减少软件开发人员需做决定的数量、获得简单的好处,而又不失灵活性。本质是说,开发人员仅需规定应用中不符合约定的部分。如:模型中有个名为 User 的类,那么数据库中对应的表就会默认命名为 user。只有在偏离这一约定时,例如将该表命名为 “user_info”,才需写有关这个名字的配置。在 Sprin spring Data Java Git团队开发管理规范、GitFlow开发规范 Git管理规范 一、Git代码仓库创建规范 1.1 代码仓库创建规范 项目创建需符合Group规范。 创建项目必须添加Project description说明。 每个项目都需要README.md文件。 除文档说明类型仓库,所有代码仓库都需要.gitignore。 注:有模板的项目,要以统一的模板创 ... Git 项目 git 代码仓库 新功能 springboot yml开发与正式版 springboot 开发规范 在上篇文章《开发你的第一个SpringBoot应用》已经对SpringBoot基本开发流程有了大体了解,本文将继续对SpringBoot官网进行学习,发现关于SpringBoot开发的更多细节。依赖管理推荐使用Maven或者Gradle进行依赖管理,其他工具比如Ant,SpringBoot对它们的支持不是很好。SpringBoot提供了很多starter来批量添加依赖,比如spring-boot- 数据库 java spring spring boot mysql springboot项目架构设计 springboot项目结构规范 上篇文章中生成的web服务,项目结构如下:这是一个最简单的Spring Boot项目,项目结构说明如下:DemoApplication:带有main()方法的启动类static:放置静态资源文件templates:放置前端模版文件application.properties:配置文件DemoApplicationTests:单元测试类pom.xml:Maven构建说明文件我们文章中的所有实例都是基 springboot项目架构设计 spring boot java spring 项目结构 项目开发相关规范 文件夹规范 文件夹规范——在开发中总体文件夹组织结构。 1.Requirement——需求文档目录 2.Design——设计文档目录 3.Test——集成測试,系统測试,測试报告。測试清单目录 4.Deployment——公布部署的目录 5.Study——预研。学习资料的目录 6.Src——源代码目 包名 首字母 命名规范 帮助文档 java java开发规范 强制 推荐 java项目开发规范 Java后端开发规范 一、技术栈规约 二、命名规范 三、Java代码规范(注释规范、异常与日志、代码逻辑规范) 四、Mybatis与SQL规范 五、结果检查(单元测试及代码扫描) 六、安全规范一、技术栈规约 二、命名规范命名使用英文词组合,严禁使用中文拼音或拼音首字母组合命名(专有名词例外) - OrganizationTreeNode, OrganizationVO ; 不 java开发规范 强制 推荐 java 后端 测试 SQL android 团队开发 git管理规范 github android项目 说明:有关这些第三方库的最新依赖,可以自己到GitHub上去搜索,添加相应版本即可:Okhttp:一个处理网络请求的开源项目,是安卓端最火热的轻量级网络框架,由Square公司贡献。简介:用于替代HttpUrlConnection和Apache HttpClient(android API23 6.0里已移除HttpClient,现在已经打不出来)。implementation 'com.squa Github Android ide Java