一篇带你入门 Spring Boot。vue
SpringBoot前世此生java
本文主要讲述spring boot的由来,即其它诞生的背景,初衷,现状,及对将来的展望。web
Spring Boot参考指南中文版--Chapter1.Spring Boot中文文档算法
本节提供一个Spring Boot参考文档的简明概述。你能够把它做为文档其他部分的导航。你能够从头至尾依次阅读该参考指南,或跳过你不感兴趣的章节。spring
Spring Boot QuickStart (1)json
Spring Boot 简化了基于 Spring 的应用开发,你只须要 "run" 就能建立一个独立的,产品级别的 Spring 应用。segmentfault
Spring 平台及第三方库提供开箱即用的设置,这样你就能够有条不紊地开始。多数 Spring Boot 应用只须要不多的Spring 配置。你可使用 Spring Boot 建立 Java 应用,并使用 java -jar 启动它或采用传统的 war 部署方式。缓存
- 系统要求
- 安装
- 使用
- 配置
Spring Boot QuickStart (2) - 基础tomcat
基于 Spring Boot 建立一个命令行应用,先来个最基本的体验,体验一下:
- 配置管理(配置文件加载,多环境配置文件)
- 日志
- 单元测试
Spring Boot QuickStart (3) - Web & Restful
基于 Spring Boot 能够快速建立一个Web & Restful 应用。
- 注解
- 路由,方法
- 请求参数
- Cookie
- Session
- 模板引擎
- 经常使用配置
Spring Boot QuickStart (4) - Database
到了操做数据库的环节,以 MySQL 为基准,体验一下数据库的相关操做,JPA、MyBatis 将是学习重点。体验的基线:
- 单表。增、删、改、查(多条件组合查询、分页,排序等)
- 多表关联。一对一,一对多,多对多
Spring Boot QuickStart (5) - Spring Data JPA
Java Persistence API,能够理解就是 Java 一个持久化标准或规范,Spring Data JPA 是对它的实现。而且提供多个 JPA 厂商适配,如 Hibernate、Apache 的 OpenJpa、Eclipse的EclipseLink等。
spring-boot-starter-data-jpa 默认使用的是 Hibernate 实现。
在 SpringBoot + Spring Data Jpa 中,不须要额外的配置什么,只须要编写实体类(Entity)与数据访问接口(Repository)就能开箱即用,Spring Data JPA 能基于接口中的方法规范命名自动的帮你生成实现(根据方法命名生成实现,是否是很牛逼?)
Spring Boot - 整合Jsp/FreeMarker
本文讲述了(json,jsp,freemarker)配置及整合方法,并针对web开发经常使用的注解的概念及功能进行了介绍,留下了一个疑问:为何整合jsp后必须经过spring-boot:run方式启动?欢迎你们留言讨论。
Spring Boot - Servlet、过滤器、监听器、拦截器
本文讲解了注册Servlet/Filter/Listener的两种⽅方式(Servlet/Filter/Listener的概念你们自行查阅资料了解),及拦截器基本原理,并经过注解实现http拦截器,另外本文还有一个疑问:为何Spring中实现的Http拦截器,没法对咱们自定义的servlet请求进行拦截?欢迎你们留言讨论。
Spring Boot - 静态资源处理、启动加载、日志处理
静态资源处理
- 默认资源映射(/** - > /resources/static) ,重点是默认目录的优先级
- ⾃定义资源映射 (继承WebMvcConfigurerAdapter 并重写方法addResourceHandlers)
启动加载
- CommandLineRunner (实现接⼝,多个类加载的优先级)
日志处理
- logback(配置,控制台输出,文件输出)
Spring Boot - 整合JdbcTemplate、MyBatis
- 本文讲解Spring Boot整合JdbcTemplate、整合mybatis,介绍并重点讲解了事务处理和配置。
- 本文未说起关于分⻚查询和数据库链接池,我认为分页查询的重点是分页算法如何封装,并非Spring Boot关注的重点,你们能够本身实现。
- 另外如今经常使用的数据库链接池有c3p0/dbcp/tomcat-jdbc/HikariCP。
- 顺便提一下,在Spring Boot中更改数据源,只须要在application.properties配置文件中增长spring.datasource.type配置便可。
服务发布Tomcat:
- 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
- 修改pom文件中jar 为 war
- 修改pom,排除tomcat插件
- 打包部署到容器
实现的方式很是简单,咱们只须要在Spring Boot工程的/src/main/resources目录下建立一个banner.txt文件,而后将ASCII字符画复制进去,就能替换默认的banner了。
spring-boot中能够用@validated来校验数据,若是数据异常则会统一抛出异常,方便异常中心统一处理。
好比,咱们判断一个输入参数是否合法,能够用以下方式
Spring Boot充分利用了JavaConfig的配置模式以及“约定优于配置”的理念,可以极大的简化基于Spring MVC的Web应用和REST服务开发。
使用spring boot开发web应用,决定项目是否能够直接启动的是spring-boot-starter-tomcat模块,咱们能够直接引入spring-boot-starter-web。
完成了上面的五步,便可使项目根据你的构建参数的不一样,打包出不一样环境下运行的包。
- 第1步去掉了SpringBoot内嵌的tomcat和tomcat-jdbc。使得咱们能够决定在什么状况下使用何种容器运行咱们的项目。
- 第2步配置了Maven构建Porfile,使得构建可根据咱们的指令分发不一样的包。
- 第3步配置了Maven资源过滤,不只使得不一样Profile下的资源文件互不可见,且替换了资源文件中以“@xx@”表示的属性值。
- 第4步使Spring的Profile由Maven决策,这样,咱们就不用每次打包都修改Spring的Profile配置了。
- 第5步展现了如何执行不一样Profile下的构建命令,而且使用了一个Shell脚本方便咱们执行构建和跳过测试(多数时候咱们在构建项目时先测试,并不须要在构建时测试,测试和构建的解耦使得咱们更专一。但同时,若是你忘记了前置测试,也可能会引起未察觉的测试问题)。
Spring Boot有四大神器,分别是auto-configuration、starters、cli、actuator,本文主要讲actuator。actuator是spring boot提供的对应用系统的自省和监控的集成功能,能够对应用系统进行配置查看、相关功能统计等。
SpringBoot的starter主要用来简化依赖用的。本文主要分两部分,一部分是列出一些starter的依赖,另外一部分是教你本身写一个starter。
- @ControllerAdvice 和 @ExceptionHandler 的区别
- 处理 Controller 中的异常
- 处理 404 错误
Spring Boot整合jsp后必须经过spring-boot:run方式启动?
简单总结一下,本文阐述的问题并非平常开发中的主要问题(可能连主要问题都算不上,谁会用main去调试??),可是遇到了就花时间来研究一下,仍是有所收获的。
- 分析问题思路
- Spring Boot 初始化的部分流程
- 请求转发和重定向的区别
另外你们注意若是pom文件中<scope>去掉,再正常部署到tomcat容器中,会有jar冲突,建议你们试验事后,修改回去。
经过springBoot构建一个简单的Restful webService
SpringBoot-vue 基于Java的微服务全栈快速开发实践
Java 微服务实践 - Spring Boot 为系列讲座,二十节专题直播,时长高达50个小时,包括目前最流行技术,深刻源码分析,授人以渔的方式,帮助初学者深刻浅出地掌握,为高阶从业人员抛砖引玉。
系列讲座列表:
1. Java 微服务实践 - Spring Boot 系列(一)初体验
2. Java 微服务实践 - Spring Boot 系列(二) Web篇(上)
3. Java 微服务实践 - Spring Boot 系列(三)Web篇(中)
4. Java 微服务实践 - Spring Boot 系列(四)Web篇(下)
5. Java 微服务实践 - Spring Boot 系列(五)嵌入式Web容器
6. Java 微服务实践 - Spring Boot 系列(六)数据库 JDBC
7. Java 微服务实践 - Spring Boot 系列(七)MyBatis
8. Java 微服务实践 - Spring Boot 系列(八)JPA
9. Java 微服务实践 - Spring Boot 系列(九)NoSQL
10. Java 微服务实践 - Spring Boot 系列(十)缓存
11. Java 微服务实践 - Spring Boot 系列(十一)消息
12. Java 微服务实践 - Spring Boot 系列(十二)验证
13. Java 微服务实践 - Spring Boot 系列(十三)WebSocket
14. Java 微服务实践- Spring Boot 系列(十四)WebService
15. Java 微服务实践 - Spring Boot 系列(十五)安全
16. Java 微服务实践 - Spring Boot 系列(十六)日志
17. Java 微服务实践 - Spring Boot 系列(十七)监管
18. Java 微服务实践 - Spring Boot 系列(十八)配置
插播一则消息:11.11 - 11.13,SF 讲堂将开启优惠模式,大部分讲座均有不一样限量的优惠,等你来抢! >>> 电梯直达活动页
本期完
:)
欢迎关注 SegmentFault 微信服务号,获取最新讲堂及优惠信息。