SegmentFault 技術週刊 Vol.36 - 一篇入門 Spring Boot

clipboard.png

一篇帶你入門 Spring Boot。vue

Spring Boot 初識

SpringBoot前世此生java

本文主要講述spring boot的由來,即其它誕生的背景,初衷,現狀,及對將來的展望。web

Spring Boot參考指南中文版--Chapter1.Spring Boot中文文檔算法

本節提供一個Spring Boot參考文檔的簡明概述。你能夠把它做爲文檔其他部分的導航。你能夠從頭至尾依次閱讀該參考指南,或跳過你不感興趣的章節。spring

Spring Boot 學習資料收集數據庫

Spring Boot QuickStart

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 入門實用教程

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 - 靜態資源處理、啓動加載、日誌處理

  1. 靜態資源處理

    1. 默認資源映射(/** - > /resources/static) ,重點是默認目錄的優先級
    2. ⾃定義資源映射 (繼承WebMvcConfigurerAdapter 並重寫方法addResourceHandlers)
  2. 啓動加載

    1. CommandLineRunner (實現接⼝,多個類加載的優先級)
  3. 日誌處理

    1. logback(配置,控制檯輸出,文件輸出)

Spring Boot - 整合JdbcTemplate、MyBatis

  • 本文講解Spring Boot整合JdbcTemplate、整合mybatis,介紹並重點講解了事務處理和配置。
  • 本文未說起關於分⻚查詢和數據庫鏈接池,我認爲分頁查詢的重點是分頁算法如何封裝,並非Spring Boot關注的重點,你們能夠本身實現。
  • 另外如今經常使用的數據庫鏈接池有c3p0/dbcp/tomcat-jdbc/HikariCP。
  • 順便提一下,在Spring Boot中更改數據源,只須要在application.properties配置文件中增長spring.datasource.type配置便可。

Spring Boot - 部署Deploy

服務發佈Tomcat:

  • 修改啓動類,繼承 SpringBootServletInitializer 並重寫 configure 方法
  • 修改pom文件中jar 爲 war
  • 修改pom,排除tomcat插件
  • 打包部署到容器

Spring Boot 屬性配置

SpringBoot配置屬性之MVC

SpringBoot配置屬性之Server

SpringBoot配置屬性之DataSource

SpringBoot配置屬性之NOSQL

SpringBoot配置屬性之MQ

SpringBoot配置屬性之Security

SpringBoot配置屬性之Migration

SpringBoot配置屬性之其餘

SpringBoot配置文件日期屬性轉換實例

Spring Boot 進階

Spring Boot - 自定義啓動banner

實現的方式很是簡單,咱們只須要在Spring Boot工程的/src/main/resources目錄下建立一個banner.txt文件,而後將ASCII字符畫複製進去,就能替換默認的banner了。

spring boot validated的使用

spring-boot中能夠用@validated來校驗數據,若是數據異常則會統一拋出異常,方便異常中心統一處理。

好比,咱們判斷一個輸入參數是否合法,能夠用以下方式

spring-boot啓動初探

Spring Boot充分利用了JavaConfig的配置模式以及「約定優於配置」的理念,可以極大的簡化基於Spring MVC的Web應用和REST服務開發。

使用spring boot開發web應用,決定項目是否能夠直接啓動的是spring-boot-starter-tomcat模塊,咱們能夠直接引入spring-boot-starter-web。

Maven管理SpringBoot Profile

完成了上面的五步,便可使項目根據你的構建參數的不一樣,打包出不一樣環境下運行的包。

  1. 第1步去掉了SpringBoot內嵌的tomcat和tomcat-jdbc。使得咱們能夠決定在什麼狀況下使用何種容器運行咱們的項目。
  2. 第2步配置了Maven構建Porfile,使得構建可根據咱們的指令分發不一樣的包。
  3. 第3步配置了Maven資源過濾,不只使得不一樣Profile下的資源文件互不可見,且替換了資源文件中以「@xx@」表示的屬性值。
  4. 第4步使Spring的Profile由Maven決策,這樣,咱們就不用每次打包都修改Spring的Profile配置了。
  5. 第5步展現瞭如何執行不一樣Profile下的構建命令,而且使用了一個Shell腳本方便咱們執行構建和跳過測試(多數時候咱們在構建項目時先測試,並不須要在構建時測試,測試和構建的解耦使得咱們更專一。但同時,若是你忘記了前置測試,也可能會引起未察覺的測試問題)。

SpringBoot四大神器之Actuator

Spring Boot有四大神器,分別是auto-configuration、starters、cli、actuator,本文主要講actuator。actuator是spring boot提供的對應用系統的自省和監控的集成功能,能夠對應用系統進行配置查看、相關功能統計等。

SpringBoot四大神器之Starter

SpringBoot的starter主要用來簡化依賴用的。本文主要分兩部分,一部分是列出一些starter的依賴,另外一部分是教你本身寫一個starter。

SpringBoot RESTful 應用中的異常處理小結

  • @ControllerAdvice 和 @ExceptionHandler 的區別
  • 處理 Controller 中的異常
  • 處理 404 錯誤

Spring Boot整合jsp後必須經過spring-boot:run方式啓動?

簡單總結一下,本文闡述的問題並非平常開發中的主要問題(可能連主要問題都算不上,誰會用main去調試??),可是遇到了就花時間來研究一下,仍是有所收穫的。

  • 分析問題思路
  • Spring Boot 初始化的部分流程
  • 請求轉發和重定向的區別

另外你們注意若是pom文件中<scope>去掉,再正常部署到tomcat容器中,會有jar衝突,建議你們試驗事後,修改回去。

Spring-boot 啓動時碰到的錯誤

經過springBoot構建一個簡單的Restful webService

springboot定製404錯誤信息

SpringBoot-vue 基於Java的微服務全棧快速開發實踐

Spring Boot 講堂

Java 微服務實踐 - Spring Boot 系列

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 系列(十八)配置

19. Java 微服務實踐 - Spring Boot 系列(十九)測試

20. Java 微服務實踐 - Spring Boot 系列(二十)自定義啓動器

插播一則消息:11.11 - 11.13,SF 講堂將開啓優惠模式,大部分講座均有不一樣限量的優惠,等你來搶! >>> 電梯直達活動頁

本期完
:)


歡迎關注 SegmentFault 微信服務號,獲取最新講堂及優惠信息。

圖片描述

相關文章
相關標籤/搜索