练习参考资料
Spring Boot 文档 Spring Web Bootstrap 前端框架 Bootstrap 样式表 ES GitHub OAuth2 Okhttp Spring Mybaits Flyway Migration Project Lombok Thymeleaf Springboot文档手册
工具
代码版本管理GitHub 流程图Visual Paradigm 数据库版本脚本管理Flyway Migration 自动插入编辑器并构建工具Project Lombok
# Git 使用 git init # 初始化本地仓库 git add . # 添加当前目录文件 git state # 查看状态 git commit -m "备注" # 提交到本地仓库 git push origin master # 推送到名为origin的远程仓库的master分支 git pull origin master # 拉取名为origin的远程仓库的master分支 git commit --amend --no-edit # 提交 > 追加文件到上次本地提交 不需要改备注 git push -f origin master # 本地强制提交 git clone [Url] 复制项目
参考手册地址 用户信息地址 http://api.github.com/users/用户昵称
GitHub
登录之调用authorize
GitHub
登录之获取 用户信息code``token``UserName
- 配置文件
application.properties
新增配置参数 GitHub.client 信息- 使用
MyBaits
链接数据库并插入数据- 实现持久化登录 服务器下发 user_token 并在数据库查询
- 集成
Flyway Migration
统一数据库结构脚本(数据库版本控制)- 添加
Lombok
支持 自动构建- 完善首页问题列表展示
- 使用
developer tools
添加配置spring.devtools.restart.exclude=static/**,public/**
完成自动部署(热更新)- 添加分页功能
- 添加拦截器
WebConfig
- 完善问题详情页 & 修复登录持久化每次插入不更新用户信息 增加问题更新功能
排查问题先检查
debug
信息中的Caused by
*Flyway Migration*
创建第一次迁移
> 创建迁移目录 `src/main/resources/db/migration`(目标文件路径)
> 进行第一次迁移 `src/main/resources/db/migration/V1__Create_person_table.sql`(SQL语句)
> 执行Flyway迁移数据库 `mvn flyway:migrate`(执行语句)
浏览器插件下载Chrome扩展插件Crx离线安装包
- Octotree:快速以tree的方式展示github上的项目文件ctotree
- Table of contents sidebar:快速展示文章大纲Table of content sidebar
- OneTab:快速记录chrome打开页面,方便下次直接展开One Tab
table For H2
-- ----------------------------
-- Table structure for User
-- ----------------------------
create table USER
(
ID INT auto_increment,
ACCOUNT_ID VARCHAR,
NAME VARCHAR(100),
TOKEN CHAR(36),
GMT_CREATE BIGINT,
GMT_MODIFIED BIGINT,
BIO VARCHAR(256),
AVATAR_URL VARCHAR(100),
constraint TABLE_NAME_PK
primary key (ID)
);
-- ----------------------------
-- Table structure for Question
-- ----------------------------
create table question
(
id int auto_increment,
title varchar(50),
description text,
gmt_create bigint,
gmt_modified bigint,
creator int,
comment_count int default 0,
view_count int default 0,
like_count int default 0,
tag varchar(256),
constraint question_pk
primary key (id)
);