学习目标:
了解十次方的需求分析
理解十次方的系统设计以及RESTful
完成项目的前期准备工作(配置JDK 与 本地仓库)
完成十次方父模块与公共模块的搭建
完成基础微服务-标签CRUD的功能,掌握公共异常处理类
1 需求分析
1.1 十次方简介
《十次方》是程序员的专属社交平台,包括头条、问答、活动、交友、吐槽、招聘六大 频道。
十次方名称的由来:2的10次方为1024,程序员都懂的。
如果你是一位技术大咖,那么赶快发布文章,增加知名度吧。
如果你是一名技术小白,那么赶快到问答频道寻求帮助的,这里高手如云哦!
如果你不想错过各种技术交流会,那么请经常关注活动频道吧~
如果你还是单身,那么赶快到交友频道找到你心仪的另一半。
如果你有太多的苦恼,那么赶快吐个槽吧~
如果你正在找工作或是想跳槽拿高薪,那么来招聘频道淘金吧~
1.2 需求规格说明书
详见: 资源\文档\十次方需求规格说明书.docx
2 系统设计
2.1 系统架构
《十次方》采用前后端分离的系统架构,后端架构为:
SpringBoot+SpringCloud+SpringMVC+SpringData 我们把这种架构也称之为全家桶。
2.2 模块划分
我们的十次方工程共分为18个子模块(其中17个是微服务)
我们本章内容是搭建父工程、公共子模块tensquare_common和基础微服务 tensquare_base。
2.3 表结构分析
我们这里采用的分库分表设计,每个业务模块为1个独立的数据库。
tensquare_article 文章
tensquare_base 基础
tensquare_friend 交友
tensquare_gathering 活动
tensquare_qa 问答
tensquare_recruit 招聘
tensquare_user 用户
tensquare_spit 吐槽
详见 资源\文档\十次方数据库文档.xlsx
2.4 API文档
课程提供了前后端开发接口文档(采用Swagger语言进行编写),并与Ngin进行了整 合。双击Nginx执行文件启动后,在地址栏输入http://localhost:801 即可访问API文档 前后端约定的返回码列表.
2.5 理解RESTful
2.5.1 何为RESTful
理解、扩展方便,所以正得到越来越多网站的采用。REST这个词,是Roy Thomas
Fielding在他2000年的博士论文中提出的 .
REST 是Representational State Transfer的缩写,翻译是”表现层状态转化”。 可以
总结为一句话:REST是所有Web应用都应该遵守的架构设计指导原则。
面向资源是REST最明显的特征,对于同一个资源的一组不同的操作。资源是服务器
上一个可命名的抽象概念,资源是以名词为核心来组织的,首先关注的是名词。REST要
求,必须通过统一的接口来对资源执行各种操作。对于每个资源只能执行一组有限的操
作。
7个HTTP方法:GET/POST/PUT/DELETE/PATCH/HEAD/OPTIONS
2.5.2 接口规范
我们在项目中用到了GET/POST/PUT/DELETE四种方法,现在介绍一下这四种方法
GET
安全且幂等
获取表示
变更时获取表示(缓存)
200(OK) - 表示已在响应中发出
204(无内容) - 资源有空表示
301(Moved Permanently) - 资源的URI已被更新
303(
See Other) - 其他(如,负载均衡)
304(not modified)- 资源未更改(缓存)
400 (bad request)- 指代坏请求(如,参数错误)
404 (not found)- 资源不存在
406 (not acceptable)- 服务端不支持所需表示
500 (
internal server error)- 通用错误响应
503 (
Service Unavailable)- 服务端当前无法处理请求
POST
不安全且不幂等
使用服务端管理的(自动产生)的实例号创建资源
创建子资源
部分更新资源
如果没有被修改,则不过更新资源(乐观锁)
200(OK)- 如果现有资源已被更改
201(
created)- 如果新资源被创建
202(
accepted)- 已接受处理请求但尚未完成(异步处理)
301(Moved Permanently)- 资源的URI被更新
303(
See Other)- 其他(如,负载均衡)
400(bad request)- 指代坏请求
404 (not found)- 资源不存在
406 (not acceptable)- 服务端不支持所需表示
409 (
conflict)- 通用冲突
412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突)
415 (unsupported media type)- 接受到的表示不受支持
500 (
internal server error)- 通用错误响应
503 (
Service Unavailable)- 服务当前无法处理请求
PUT
不安全但幂等
用客户端管理的实例号创建一个资源
通过替换的方式更新资源
如果未被修改,则更新资源(乐观锁)
200 (OK)- 如果已存在资源被更改
201 (
created)- 如果新资源被创建
301(Moved Permanently)- 资源的URI已更改
303 (
See Other)- 其他(如,负载均衡)
400 (bad request)- 指代坏请求
404 (not found)- 资源不存在
406 (not acceptable)- 服务端不支持所需表示
409 (
conflict)- 通用冲突
412 (Precondition Failed)- 前置条件失败(如执行条件更新时的冲突)
415 (unsupported media type)- 接受到的表示不受支持
500 (
internal server error)- 通用错误响应
503 (
Service Unavailable)- 服务当前无法处理请求
DELETE
不安全但幂等
删除资源
200 (OK)- 资源已被删除
301 (Moved Permanently)- 资源的URI已更改
303 (
See Other)- 其他,如负载均衡
400 (bad request)- 指代坏请求
404 (not found)- 资源不存在
409 (
conflict)- 通用冲突
500 (
internal server error)- 通用错误响应
503 (
Service Unavailable)- 服务端当前无法处理请求
3 项目前期准备
3.1 开发环境要求
JDK1.8
数据库mysql 5.7
开发工具 idea 2017.1.2
maven版本3.3.9
docker 最新版本
centos7
VMware Workstation Pro 12
注:十次方课程所有的环境都是基于docker的,所以我们在资料中提供了安装了docker
的centos7镜像,并已经下载了课程中使用的mysql等常用docker镜像。
将centos7镜像挂载到VMware Workstation,修改内存为8G。
用户名root 密码itcast
3.2 MYSQL建库建表(容器)
【下载地址】
百度网盘链接:https://pan.baidu.com/s/1EE_Qib22ewO6K6BukDaV7g
提取码:qpjy
相关文章
使用-JFreeChart来创建基于web的图表
XStream使用文档
WebService发布过程及常见问题
webpack实战入门进阶调优分享
weblogic调优参数及监控指标
weblogic节点管理
weblogic管理控制台概述
weblogic-部署和启动
WebLogic-Server-性能及调优-调优-Java-虚拟机
Java 虚拟机(Java virtual machine,简称 JVM)是一种虚拟“执行引擎”实例,可在微处理器上执行 Java 类文件中的字节码。调整 JVM 的方式会影响 Weblogic Server 和应用程序的性能。
Velocity是一个基于java的模板引擎(template engine)。它允许任何人仅仅简单的使用模板语言(template language)来引用由java代码定义的对象。
Velocity 用户手册是帮助页面设计者和内容提供者认识 Velocity 和其简单而功能强大的脚本语言――Velocity 模板语言(VTL)。在手册上的许多例子,都是用 Velocity 插入动态的内容到网页上,但是所有的 VLT 例子都能应用到其他的页面和模板中。
FlashFXP绿色版网盘下载,附激活教程 1782
FlashFxp百度网盘下载链接:https://pan.baidu.com/s/1MBQ5gkZY1TCFY8A7fnZCfQ。FlashFxp是功能强大的FTP工具
Adobe Fireworks CS6 Ansifa绿色精简版网盘下载 1565
firework可以制作精美或是可以闪瞎眼的gif,这在广告领域是需要常用的,还有firework制作下logo,一些原创的图片还是很便捷的,而且fireworks用法简单,配合dw在做网站这一块往往会发挥出很强大的效果。百度网盘下载链接:https://pan.baidu.com/s/1fzIZszfy8VX6VzQBM_bdZQ
navicat for mysql中文绿色版网盘下载 1623
Navicat for Mysql是用于Mysql数据库管理的一款图形化管理软件,非常的便捷和好用,可以方便的增删改查数据库、数据表、字段、支持mysql命令,视图等等。百度网盘下载链接:https://pan.baidu.com/s/1T_tlgxzdQLtDr9TzptoWQw 提取码:y2yq
火车头采集器(旗舰版)绿色版网盘下载 1707
火车头采集器是站长常用的工具,相比于八爪鱼,简洁好用,易于配置。火车头能够轻松的抓取网页内容,并通过自带的工具对内容进行处理。站长圈想要做网站,火车头采集器是必不可少的。百度网盘链接:https://pan.baidu.com/s/1u8wUqS901HgOmucMBBOvEA
Photoshop(CS-2015-2023)绿色中文版软件下载 1824
安装文件清单(共46G)包含Window和Mac OS各个版本的安装包,从cs到cc,从绿色版到破解版,从安装文件激活工具,应有尽有,一次性打包。 Photoshop CC绿色精简版 Photoshop CS6 Mac版 Photoshop CC 2015 32位 Photoshop CC 2015 64位 Photoshop CC 2015 MAC版 Photoshop CC 2017 64位 Adobe Photoshop CC 2018 Adobe_Photoshop_CC_2018 Photoshop CC 2018 Win32 Photoshop CC 2018 Win64