第一章:spring boot简介
spring Boot博客概述
1、核心功能 * 用户管理、安全管理、博客管理、评论管理、点赞管理 * 分类管理、标签管理、首页搜索。。。。 2、模块细节 * 用户管理 * 注册、登录、增加用户、修改用户、删除用户、搜索用户 * 安全设置 * 角色授权、权限设置 * 博客管理 * 发表博客、编辑博客、删除博客、博客分类、设置标签、上传图片、模糊查询、最新排序、最热排序、阅读量统计 * 评论管理 * 发表评论、删除评论、评论量统计 * 点赞管理 * 点赞、取消点赞、点赞量统计 * 分类管理 * 创建分类、编辑分类、删除分类、按分类查询 * 标签管理 * 创建标签、删除标签、按标签查询 * 首页搜索 * 全文检索、最新文章、最热文章、热门标签、热门用户、热门文章、最新发布 3、核心技术 * 前端 * Bootstrap 响应式的布局 * Thymeleaf Java的模板引擎 * JQuery js的库 * HTML5 * javascript * CSS * 后端 * Spring * Spring Boot * Spring MVC * Spring Data * Spring Security * Hibernate * 数据存储 * MySQL * H2 内存数据库,启动、访问、测试方便 * MongoDB 存储非结构化的数据(文件、图片) * 其他 ElasticSearch 搜索 Gradle 构建项目、管理jar和依赖
学习路线
1、实战入门阶段 * Gradle、Grandle Wrapper * 开发环境搭建及项目运行 * Thymeleaf知识讲解及实战 * 数据持久化讲解及实战 * 全文搜索讲解及实战 * Bootstrap讲解及实战 2、实战进阶阶段 * 架构设计与分层 * 需要分析与设计 * 权限管理 * 整体框架搭建 * API设计 3、实战高级阶段 * 用户管理实现 * 角色管理实现 * 权限管理实现 * 博客管理实现 * 评论管理实现 * 点赞管理实现 * 分类管理实现 * 标签管理实现 * 首页搜索实现 4、收获 * 学会Spring Boot及周边技术栈 * 掌握如何运行上述进行整合,搭建框架的能力 * 熟悉完整企业级应用开发的流程 * 掌握了如何打造一款企业级应用产品 5、特色 * 技术涉及面广 * 技术点富有前瞻性,符合主流 * 知识点梳理+实战案例 * 真实可用的企业级应用(功能完整可用) 6、适合人群 * Java开发者 * 对spring boot及企业级开发感兴趣 * 立志为架构式 * 有Spring开发经验 7、环境配置 * JDK 8 * Gradle 3.5 * Spring Boot 1.5.2.RELEASE * Thymeleaf 3.0.3.RELEASE * Thymeleaf Layout Dialec 2.2.0 * MySQL Community Server 5.7.17 * MySQL Workbench 6.3.9 * Spring Data JPA 1.11.1.RELEASE * Hibernate 5.2.8.Final * MySQL Connector/J 6.0.5 * H2 Database 1.4.193 * Elasticsearch 2.4.4 * Spring Data Elasticsearch 2.1.3.RELEASE * JNA 4.3.0
Spring Boot是什么
* 为所有spring开发提供一个更快更广泛的入门体验 * 开箱即用,不适合时也可以快速抛弃 * 提供一系列大型项目常用的非功能特征(例如:嵌入式服务器,安全,度量,运行状况检查、) * 零配置(不需要XML配置,遵循“约定大于配置”) * 抛弃了传统Java EE项目繁琐的配置、学习过程,让企业级开发变的简单 * 核心:简化开发,配合spring快速开发
第二章:spring Boot的第一个Web项目
目标
1、快速创建一个spring boot的Web项目 2、学会使用Gradle构建应用 3、理解Spring Boot项目结构、原理
案例:Web 项目
1、环境配置 * JDK 8+ * Gradle 4.10 ** 进入https://gradle.org/install/#older-releases下载相应版本的gradle ** .zip和二进制形式:.zip包含所有的API文档和说明,二进制需要进行联网使用 ** 解压缩(一般不放在中文目录下),添加环境变量 ** 我的电脑 - 高级设置 - 高级 - 环境变量 - 系统变量 ** 添加属性GRADLE_HOME:D:\AllSoft\ToolSoft\JavaSoft\Gradle4.10\gradle-4.10-all\gradle-4.10 ** 在Path属性中添加属性值:%GRADLE_HOME%\bin,点击确定 ** 启动命令行输入:gradle -v检验是否配置成功 2、 开发步骤 * 打开快速构建Web项目:https://start.spring.io/ * 选择Gradle构建,添加WEb依赖,然后下载 * 一个完整的spring boot项目的搭建就完成了 * 进入命令行,进入到项目的根目录下,构建项目:gradle build * 使用Java命令启动项目:java -jar build/libs/XXXX.jar * 浏览器url中输入:http://localhost:8080/:看到Error Page页面表示发布成功 * 关闭项目:Ctrl+C
第三章:一个Hello World项目
目标
1、编写项目构建信息 2、编写程序代码 3、编写测试用例 4、配置Gradle Wrapper 5、运行程序
自定义存储库,加速构建
build.gradle(脚本文件) 修改项目的名称:settings.gradle文件中修改 修改中央仓库(中央仓库)为国内的一些镜像仓库: maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' } 此为阿里云仓库
编写程序代码及测试用例
1、将项目导入到Idea中,默认导入即可 2、鼠标放在某方法或者变量上就能看见与之相关的信息 setting -> editor -> General ->勾选“Show quick doc on mouse move”,延迟时间可根据需要自行修改。 3、 5、错误总结 * SpringBoot Unable to find a @SpringBootConfiguration, you need to use @ContextConfiguration ** 解决方案:你需要在注解上加上@SpringBootTest(classes = Application.class) *
解决方案:java/top/blog目录的application.java启动类必须和其他的类放在同一级别或者其他类包含在其级别之下的包中,因为@SpringBootApplication注解默认情况下扫描的类是与其同级别或之下的包中的类
配置Gradle Wrapper
1、修改gradle/wrapper/gradle-wrapper.properties文件 修改最后一行:distributionUrl=https\://services.gradle.org/distributions/gradle-4.8.2-bin.zip 将gradle-4.8.2改为:你使用的版本比如4.10 2、打开命令行,进入到项目目录下,输入gradlew build进行构建 gradle文件 Linux系统下的执行脚本文件 gradlew.bat文件 window系统下的执行脚本文件 3、启动项目:java -jar build/libs/Hello-World-0.0.1-SNAPSHOT.jar 4、在浏览器Url中输入:http://localhost:8080/hello,如果看到“hello world!”表示编译成功