一篇帶你入門 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 微信服務號,獲取最新講堂及優惠信息。