Spring boot
练习参考资料
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 使用 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)
);