《Spring Boot開(kāi)發(fā):從0到1》大綱結(jié)構(gòu)

《Spring Boot開(kāi)發(fā):從0到1》 大綱結(jié)構(gòu)v2.0

第一部分Spring Boot基礎(chǔ)

第1章 Spring Boot史前簡(jiǎn)述
1.1 J2EE(Java 2 Platform Enterprise Edition)簡(jiǎn)介
1.2 Java企業(yè)級(jí)開(kāi)發(fā)框架概述
1.3 Spring生態(tài)系統(tǒng)
1.4 Spring JavaConfig

第2章 Spring Boot簡(jiǎn)介
2.1 用Spring Boot創(chuàng)造一切
2.2 Spring Boot起源
2.3 Spring Boot在Spring生態(tài)中的構(gòu)成
2.3.1 Spring生態(tài)頂級(jí)項(xiàng)目
2.3.2 Spring cloud子項(xiàng)目
2.4 Spring Boot核心組件
2.5 Spring Boot版本歷史
2.6 Spring Boot學(xué)習(xí)成本

第3章 Spring Boot快速開(kāi)始Hello World
3.1 Spring Boot CLI groovy版Hello World
3.2 常規(guī)Java版Hello World

第4章 零XML配置的Spring Boot Application
4.1 application.properties
4.2 Spring Boot屬性配置和使用
4.2.1配置的優(yōu)先級(jí)
4.2.2命令行參數(shù)配置
4.2.3 random.*屬性配置
4.2.4屬性文件配置
4.2.5 YAML格式的配置文件
4.2.6使用 Java配置類(lèi)
4.3使用CommandLineRunner執(zhí)行初始化加載

第5章 Spring Boot自動(dòng)配置原理
5.1 Spring Boot的核心組件模塊
5.2 Spring Boot Starters
5.3 @EnableAutoConfiguration自動(dòng)配置原理
5.4 FreeMarkerAutoConfiguration自動(dòng)配置的實(shí)例分析
5.5 spring.factories與定義應(yīng)用程序的初始化行為

第二部分 Spring Boot集成

第6章 Spring Boot數(shù)據(jù)庫(kù)集成
6.1 Spring Boot集成mybatis
6.2 Spring Boot集成jpa
6.3 Spring Boot集成多數(shù)據(jù)源
6.4 Spring Boot集成Druid監(jiān)控?cái)?shù)據(jù)庫(kù)
6.5 Spring Boot集成mongodb開(kāi)發(fā)

第7章 Spring Boot集成模板引擎
7.1 Spring Boot集成jsp模板
7.2 Spring Boot集成thymeleaf模板
7.3 Spring Boot集成velocity模板
7.4 Spring Boot集成freemarker模板
7.5 Spring Boot集成groovy模板

第8章 Spring Boot集成開(kāi)發(fā)
8.1 Spring Boot集成Groovy混合Java開(kāi)發(fā)
8.2 Spring Boot集成Groovy、Grails開(kāi)發(fā)
8.3 Spring Boot集成Scala混合Java開(kāi)發(fā)
8.4 Spring Boot集成Kotlin混合Java開(kāi)發(fā)
8.5 Spring Boot集成Swagger2構(gòu)建自動(dòng)化Rest API文檔
8.6 Spring Boot集成Spring Security
8.7 Spring Boot集成日志
8.8 Spring Boot靜態(tài)資源處理

第9章 Spring Boot開(kāi)發(fā)者工具
9.1 Spring Boot maven plugin
9.2 Spring Boot gradle plugin
9.3 Spring Boot熱部署
9.4 Spring Boot遠(yuǎn)程調(diào)試

第10章 Spring Boot應(yīng)用部署運(yùn)維
10.1 Spring Boot應(yīng)用運(yùn)行
10.2使用Spring Cloud部署
10.3使用Docker快速部署

第11章 Spring Boot應(yīng)用監(jiān)控
11.1 使用Spring Boot Actuator監(jiān)控應(yīng)用
11.2 Spring Boot遠(yuǎn)程Shell

第12章 Spring Boot與微服務(wù)
12.1 微服務(wù)架構(gòu)
12.2 使用Spring Boot創(chuàng)建微服務(wù)

第三部分 問(wèn)題解決

第13章 常見(jiàn)問(wèn)題與解決方案
13.1 Spring MVC 關(guān)于controller的字符編碼
13.2 Spring Boot啟動(dòng)報(bào)錯(cuò)
13.3 javax.servlet.ServletException
13.4 庫(kù)依賴(lài)沖突問(wèn)題
13.5 org.apache.catalina.LifecycleException
13.6 @EnableMongoRepositories路徑配置
13.7 Logging system failed to initialize using configuration from 'logback.xml '
13.8 java.lang.IllegalArgumentException: Request header is too large
13.9 No handler found for GET /swagger-ui.html

附錄

附錄A 計(jì)算機(jī)的0和1
附錄B 編程的本質(zhì)
附錄C Java編程簡(jiǎn)史


《Springboot極簡(jiǎn)教程》大鋼結(jié)構(gòu)v1.0.1

《Springboot極簡(jiǎn)教程》2017.4.19.png

《Springboot極簡(jiǎn)教程》

第O部分 Spring Boot簡(jiǎn)介

第1章 Spring Boot史前簡(jiǎn)述

1.1 J2EE(Java 2 Platform Enterprise Edition)簡(jiǎn)介

1.2 Java企業(yè)級(jí)開(kāi)發(fā)框架概述

1.3 Spring生態(tài)系統(tǒng)

1.4 Spring JavaConfig

小結(jié)

參考資料

第2章 Spring Boot簡(jiǎn)史

2.1 用SpringBoot創(chuàng)造一切吧

2.2 SpringBoot起源

2.3 SpringBoot在整個(gè)Spring生態(tài)中

2.3.1 Spring生態(tài)頂級(jí)項(xiàng)目

2.3.2 Spring cloud子項(xiàng)目

2.4 SpringBoot核心組件

2.5 SpringBoot版本歷史

2.6 SpringBoot學(xué)習(xí)成本

小結(jié)

第一部分 SpringBoot的核心

第3章 一鍵啟動(dòng)應(yīng)用程序

3.1 SpringBoot版的Restful Hello,World

3.1.1 Spring Boot CLI groovy版Hello World

3.1.2 常規(guī)的Java版的Hello World

3.2 啟動(dòng)Springboot的自動(dòng)配置@EnableAutoConfiguration

第4章 零XML配置的Springboot Application

4.1 application.properties

4.2 配置文件說(shuō)明

第5章 Springboot功能模塊和核心組件

第二部分 SpringBoot集成

第6章 Springboot數(shù)據(jù)庫(kù)集成

6.1 Spring Boot集成mybatis

6.2 Spring Boot集成jpa

第7章 Spring Boot集成模板引擎

7.1 Spring Boot集成jsp模板

7.2 Spring Boot集成thymeleaf模板

7.3 Spring Boot集成velocity模板

7.4 Spring Boot集成freemarker模板

7.5 Spring Boot集成groovy模板

第8章 Spring Boot集成Groovy混合Java開(kāi)發(fā)

第9章 Spring Boot集成Groovy烁设,Grails開(kāi)發(fā)

第10章 Spring Boot集成Scala混合Java開(kāi)發(fā)

第11章 Spring Boot集成Kotlin混合Java開(kāi)發(fā)

第12章 Springboot集成mongodb開(kāi)發(fā)

第13章 Spring Boot集成Swagger快速構(gòu)建REST API文檔

第14章 Spring Boot安全集成Spring Security

第15章 Spring Boot日志集成

第16章 Spring Boot微服務(wù)和DevOps

第三部分 問(wèn)題解決

常見(jiàn)問(wèn)題&解決

Spring MVC 關(guān)于controller的字符編碼

Springboot啟動(dòng)報(bào)錯(cuò) Whitelabel Error Page: This application has no explicit mapping for

javax.servlet.ServletException: Circular view path [login]: would dispatch back to the current handler URL [/login] again

庫(kù)依賴(lài)沖突問(wèn)題:Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflow

org.apache.catalina.LifecycleException: A child container failed during start

@EnableMongoRepositories路徑配置:APPLICATION FAILED TO START: Parameter 0 of constructor in

Logging system failed to initialize using configuration from 'logback.xml '

第四部分 附錄

附錄1 計(jì)算機(jī)簡(jiǎn)史

1.0 一切皆是映射

1.1 二進(jìn)制01與易經(jīng)陰陽(yáng)

1.2 向上抽象封裝一層

1.3 編程之初:從機(jī)械計(jì)算機(jī)到能接受指令的計(jì)算機(jī)

1.3.1 機(jī)械計(jì)算機(jī)簡(jiǎn)史

1.3.2 能接受指令的計(jì)算機(jī)

小結(jié)

附錄2 編程的本質(zhì)

2.0 什么是編程

2.1 結(jié)構(gòu)化程序設(shè)計(jì)

2.2 怎樣解決問(wèn)題

2.3 層次化分解與復(fù)合

2.4 面向?qū)ο缶幊蹋∣OP)

2.5 函數(shù)式編程(FP)

2.6 混合式編程(HP)

小結(jié)

附錄3 編程簡(jiǎn)史

1940之前

1940年代

1950與1960年代

1967-1978:確立基礎(chǔ)范式

1980年代:增強(qiáng)、模塊汪茧、性能

1990年代:互聯(lián)網(wǎng)時(shí)代

當(dāng)今的趨勢(shì)

編程語(yǔ)言發(fā)展史上的杰出人物

名詞紀(jì)要

參考資料

附錄4 Java編程簡(jiǎn)史

從GOTO到OOP

Java簡(jiǎn)史

JVM上的語(yǔ)言家族

用哪種 JVM 語(yǔ)言?

《Springboot極簡(jiǎn)教程》大鋼結(jié)構(gòu)v1.0.0

《Springboot極簡(jiǎn)教程》

第O部分 Spring Boot簡(jiǎn)介

第1章 Spring Boot史前簡(jiǎn)述

1.1 循證架構(gòu)

1.2 Java元編程

1.2.1 元編程(meta-programming)

1.3 Java主流框架概述

1.3.1 Struts

1.3.2 Hibernate

1.3.3 Spring框架

1.4 Spring生態(tài)系統(tǒng)

1.5 Spring JavaConfig

1.5.1 JavaConfig簡(jiǎn)介

1.5.2 JavaConfig與注解驅(qū)動(dòng)配置

小結(jié)

第2章 Spring Boot簡(jiǎn)史

2.1 用SpringBoot創(chuàng)造一切吧

2.2 SpringBoot起源

2.3 SpringBoot在整個(gè)Spring生態(tài)中

2.3.1 Spring生態(tài)頂級(jí)項(xiàng)目

2.3.2 Spring cloud子項(xiàng)目

2.4 SpringBoot核心組件

2.5 SpringBoot版本歷史

2.6 SpringBoot學(xué)習(xí)成本

小結(jié)

第一部分 SpringBoot的核心

第3章 一鍵啟動(dòng)應(yīng)用程序

3.1 SpringBoot版的Restful Hello,World

3.1.1 Spring Boot CLI groovy版Hello World

3.1.2 常規(guī)的Java版的Hello World

3.2 啟動(dòng)Springboot的自動(dòng)配置@EnableAutoConfiguration

第4章 零XML配置的Springboot Application

4.1 application.properties

4.2 配置文件說(shuō)明

第5章 Springboot功能模塊和核心組件

第二部分 SpringBoot集成

第6章 Springboot數(shù)據(jù)庫(kù)集成

6.1 Spring Boot集成mybatis

6.2 Spring Boot集成jpa

第7章 Spring Boot集成模板引擎

7.1 Spring Boot集成jsp模板

7.2 Spring Boot集成thymeleaf模板

7.3 Spring Boot集成velocity模板

7.4 Spring Boot集成freemarker模板

7.5 Spring Boot集成groovy模板

第8章 Spring Boot集成Groovy限番,Grails開(kāi)發(fā)

第9章 Spring Boot集成Scala混合Java開(kāi)發(fā)

第10章 Spring Boot集成Kotlin混合Java開(kāi)發(fā)

第11章 Springboot集成mongodb開(kāi)發(fā)

第12章 Spring Boot集成Swagger快速構(gòu)建REST API文檔

第13章 Spring Boot微服務(wù)和DevOps

第三部分 問(wèn)題解決

常見(jiàn)問(wèn)題&解決

第四部分 附錄

附錄1 計(jì)算機(jī)簡(jiǎn)史

1.0 一切皆是映射

1.1 二進(jìn)制01與易經(jīng)陰陽(yáng)

1.2 向上抽象封裝一層

1.3 編程之初:從機(jī)械計(jì)算機(jī)到能接受指令的計(jì)算機(jī)

1.3.1 機(jī)械計(jì)算機(jī)簡(jiǎn)史

1.3.2 能接受指令的計(jì)算機(jī)

小結(jié)

附錄2 編程的本質(zhì)

2.0 什么是編程

2.1 結(jié)構(gòu)化程序設(shè)計(jì)

2.2 怎樣解決問(wèn)題

2.3 層次化分解與復(fù)合

2.4 面向?qū)ο缶幊蹋∣OP)

2.5 函數(shù)式編程(FP)

2.6 混合式編程(HP)

小結(jié)

附錄3 編程簡(jiǎn)史

附錄4 Java編程簡(jiǎn)史

《Springboot極簡(jiǎn)教程大綱結(jié)構(gòu)v1.0.0》

《Spring Boot極簡(jiǎn)教程》大綱結(jié)構(gòu)v0.0.3

《Springboot極簡(jiǎn)教程》2017.4.6

《Springboot極簡(jiǎn)教程》

第O部分 編程總論

第1章 編程總論

第2章 Java編程簡(jiǎn)史

第一部分 SpringBoot的核心

第3章 Spring Boot史前簡(jiǎn)述

3.1 循證架構(gòu)

3.2 Java元編程

3.2.1 元編程(meta-programming)

3.3 Java主流框架概述

3.3.1 Struts

3.3.2 Hibernate

3.3.3 Spring框架

3.4 Spring生態(tài)系統(tǒng)

3.5 Spring JavaConfig

3.5.1 JavaConfig簡(jiǎn)介

3.5.2 JavaConfig與注解驅(qū)動(dòng)配置

小結(jié)

第4章 Spring Boot簡(jiǎn)史

4.1 用SpringBoot創(chuàng)造一切吧

4.2 SpringBoot起源

4.3 SpringBoot在整個(gè)Spring生態(tài)中

4.3.1 Spring生態(tài)頂級(jí)項(xiàng)目

4.3.2 Spring cloud子項(xiàng)目

4.4 SpringBoot核心組件

4.5 SpringBoot版本歷史

4.6 SpringBoot學(xué)習(xí)成本

小結(jié)

第5章 一鍵啟動(dòng)應(yīng)用程序

5.0 SpringBoot版的Restful Hello,World

5.0.1 Spring Boot CLI groovy版Hello World

5.0.2 常規(guī)的Java版的Hello World

5.1 啟動(dòng)Springboot的自動(dòng)配置@EnableAutoConfiguration

第6章 零XML配置的Springboot Application

6.0 application.properties

6.1 配置文件說(shuō)明

第7章 Springboot功能模塊和核心組件

第8章 Springboot數(shù)據(jù)庫(kù)集成mybatis舱污,jpa

8.0 Spring Boot集成mybatis

8.1 Spring Boot集成jpa

第9章 Spring Boot集成模板引擎jsp, thymeleaf, velocity, freemarker, groovy

9.0 Spring Boot集成jsp模板

9.1 Spring Boot集成thymeleaf模板

9.2 Spring Boot集成velocity模板

9.2.1 配置pom依賴(lài)的velocity-starter

9.2.2 application.properties配置

9.2.3 Dao層代碼示例

9.2.4 Controller層代碼示例

9.2.5 執(zhí)行定時(shí)任務(wù)

9.2.6 啟動(dòng)類(lèi)代碼&運(yùn)行測(cè)試

9.3 Spring Boot集成freemarker模板

9.4 Spring Boot集成groovy模板

第二部分 SpringBoot集成

第10章 Spring Boot集成Groovy混合Java開(kāi)發(fā)

第11章 Spring Boot集成Scala混合Java開(kāi)發(fā)

第12章 Spring Boot集成Kotlin混合Java開(kāi)發(fā)

第13章 Springboot集成mongodb開(kāi)發(fā)

13.0 系統(tǒng)基本功能

13.1 系統(tǒng)技術(shù)框架

13.2 系統(tǒng)架構(gòu)設(shè)計(jì)

13.3 數(shù)據(jù)庫(kù)環(huán)境配置

13.4 定義領(lǐng)域?qū)ο?/p>

13.5 核心業(yè)務(wù)邏輯實(shí)現(xiàn)

13.6 前端jsp設(shè)計(jì)

13.7 前端js代碼

13.8 運(yùn)行效果

小結(jié)

第14章 Spring Boot集成Swagger快速構(gòu)建REST API文檔

第15章 Spring Boot微服務(wù)和DevOps

第三部分 問(wèn)題解決

常見(jiàn)問(wèn)題&解決

第四部分 附錄

附錄1 計(jì)算機(jī)簡(jiǎn)史

1.0 一切皆是映射

1.1 二進(jìn)制01與易經(jīng)陰陽(yáng)

1.2 向上抽象封裝一層

1.3 編程之初:從機(jī)械計(jì)算機(jī)到能接受指令的計(jì)算機(jī)

1.3.1 機(jī)械計(jì)算機(jī)簡(jiǎn)史

1.3.2 能接受指令的計(jì)算機(jī)

小結(jié)

附錄2 編程的本質(zhì)

2.0 什么是編程

2.1 結(jié)構(gòu)化程序設(shè)計(jì)

2.2 怎樣解決問(wèn)題

2.3 層次化分解與復(fù)合

2.4 面向?qū)ο缶幊蹋∣OP)

2.5 函數(shù)式編程(FP)

2.6 混合式編程(HP)

小結(jié)

《Spring Boot極簡(jiǎn)教程》大綱結(jié)構(gòu)v0.0.2

《Springboot極簡(jiǎn)教程》

《Springboot極簡(jiǎn)教程》

第O部分 編程總論

第1章 計(jì)算機(jī)簡(jiǎn)史

1.0 一切皆是映射

1.1 二進(jìn)制01與易經(jīng)陰陽(yáng)

1.2 向上抽象封裝一層

1.3 編程之初:從機(jī)械計(jì)算機(jī)到能接受指令的計(jì)算機(jī)

1.3.1 機(jī)械計(jì)算機(jī)簡(jiǎn)史

1.3.2 能接受指令的計(jì)算機(jī)

小結(jié)

第2章 編程的本質(zhì)

2.0 什么是編程

2.1 結(jié)構(gòu)化程序設(shè)計(jì)

2.2 怎樣解決問(wèn)題

2.3 層次化分解與復(fù)合

2.4 面向?qū)ο缶幊蹋∣OP)

2.5 函數(shù)式編程(FP)

2.6 混合式編程(HP)

小結(jié)

第一部分 SpringBoot的核心

第3章 Spring Boot史前簡(jiǎn)述

3.1 循證架構(gòu)

3.2 Java元編程

3.2.1 元編程(meta-programming)

3.3 Java主流框架概述

3.3.1 Struts

3.3.2 Hibernate

3.3.3 Spring框架

3.4 Spring生態(tài)系統(tǒng)

3.5 Spring JavaConfig

3.5.1 JavaConfig簡(jiǎn)介

3.5.2 JavaConfig與注解驅(qū)動(dòng)配置

小結(jié)

第4章 Spring Boot簡(jiǎn)史

4.1 用SpringBoot創(chuàng)造一切吧

4.2 SpringBoot起源

4.3 SpringBoot在整個(gè)Spring生態(tài)中

4.3.1 Spring生態(tài)頂級(jí)項(xiàng)目

4.3.2 Spring cloud子項(xiàng)目

4.4 SpringBoot核心組件

4.5 SpringBoot版本歷史

4.6 SpringBoot學(xué)習(xí)成本

小結(jié)

第5章 一鍵啟動(dòng)應(yīng)用程序

5.0 SpringBoot版的Restful Hello,World

5.0.1 Spring Boot CLI groovy版Hello World

5.0.2 常規(guī)的Java版的Hello World

5.1 啟動(dòng)Springboot的自動(dòng)配置@EnableAutoConfiguration

第6章 零XML配置的Springboot Application

6.0 application.properties

6.1 配置文件說(shuō)明

第7章 Springboot功能模塊和核心組件

第8章 Springboot數(shù)據(jù)庫(kù)集成mybatis,jpa

8.0 Spring Boot集成mybatis

8.1 Spring Boot集成jpa

第9章 Spring Boot集成模板引擎jsp, thymeleaf, velocity, freemarker, groovy

9.0 Spring Boot集成jsp模板

9.1 Spring Boot集成thymeleaf模板

9.2 Spring Boot集成velocity模板

9.2.1 配置pom依賴(lài)的velocity-starter

9.2.2 application.properties配置

9.2.3 Dao層代碼示例

9.2.4 Controller層代碼示例

9.2.5 執(zhí)行定時(shí)任務(wù)

9.2.6 啟動(dòng)類(lèi)代碼&運(yùn)行測(cè)試

9.3 Spring Boot集成freemarker模板

9.4 Spring Boot集成groovy模板

第二部分 SpringBoot集成

第10章 Spring Boot集成Groovy混合Java開(kāi)發(fā)

第11章 Spring Boot集成Scala混合Java開(kāi)發(fā)

第12章 Spring Boot集成Kotlin混合Java開(kāi)發(fā)

第13章 Springboot集成mongodb開(kāi)發(fā)

13.0 系統(tǒng)基本功能

13.1 系統(tǒng)技術(shù)框架

13.2 系統(tǒng)架構(gòu)設(shè)計(jì)

13.3 數(shù)據(jù)庫(kù)環(huán)境配置

13.4 定義領(lǐng)域?qū)ο?/p>

13.5 核心業(yè)務(wù)邏輯實(shí)現(xiàn)

13.6 前端jsp設(shè)計(jì)

13.7 前端js代碼

13.8 運(yùn)行效果

小結(jié)

第14章 Spring Boot集成Swagger快速構(gòu)建REST API文檔

第15章 Spring Boot微服務(wù)和DevOps

第三部分 問(wèn)題解決

常見(jiàn)問(wèn)題&解決

《Spring Boot極簡(jiǎn)教程》大綱結(jié)構(gòu)v0.0.1

極簡(jiǎn)SpringBoot教程.png

極簡(jiǎn)SpringBoot教程

SpringBoot起源

項(xiàng)目背景

源代碼&文檔

https://github.com/spring-projects/spring-boot

http://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/

解決了一個(gè)怎樣的問(wèn)題

如何把這些子項(xiàng)目整合起來(lái)形成一個(gè)完整的解決方案弥虐。在如何使用這些組件上慌闭,并沒(méi)有相關(guān)的最佳實(shí)踐提供指導(dǎo)

springboot底層完全是spring,只是springboot幫你做掉了很多模板配置

Spring Boot 是 Spring 框架的一個(gè)新的子項(xiàng)目躯舔,用于創(chuàng)建 Spring 4.0 項(xiàng)目驴剔。它的開(kāi)發(fā)始于 2013 年。2014 年 4 月發(fā)布 1.0.0 版本粥庄。它可以自動(dòng)配置 Spring 的各種組件丧失,并不依賴(lài)代碼生成和 XML 配置文件。

Spring Boot 的作用在于創(chuàng)建和啟動(dòng)新的基于 Spring 框架的項(xiàng)目

spring生態(tài)

特性

創(chuàng)建可以獨(dú)立運(yùn)行的 Spring 應(yīng)用惜互。

直接嵌入 Tomcat 或 Jetty 服務(wù)器布讹,不需要部署 WAR 文件琳拭。

提供推薦的基礎(chǔ) POM 文件來(lái)簡(jiǎn)化 Apache Maven 配置。

盡可能的根據(jù)項(xiàng)目依賴(lài)來(lái)自動(dòng)配置 Spring 框架描验。

提供可以直接在生產(chǎn)環(huán)境中使用的功能白嘁,如性能指標(biāo)、應(yīng)用信息和應(yīng)用健康檢查膘流。

沒(méi)有代碼生成絮缅,也沒(méi)有 XML 配置文件。

核心理念

約定優(yōu)于配置(convention over configuration)

SpringBoot架構(gòu)

核心模塊解決的核心問(wèn)題

SpringBoot:快速開(kāi)始 A Restful Hello,World

Spring boot注解

@configuration 相當(dāng)于xml配置文件

@RestController Spring新加入的聲明Controller的注解

@component@service @Repository 聲明bean

@autowired  @Qualifier 注入bean

@SpringBootApplication = @Configuration @EnableAutoConfiguration @ComponentScan

@Import @ImportResource 導(dǎo)入配置文件

@Configuration 聲明配置類(lèi)

@RestController 實(shí)現(xiàn)一個(gè)RESTful web services

@Component , @Service , @Repository , @Controller 聲明bean

@autowired  @Qualifier 注入

@Aspect等等支持AOP

@RequestMapping 注解地址映射呼股,url pattern

實(shí)例

https://github.com/MiniSpringBootTutorial/spring-boot/tree/master/spring-boot-samples

SpringBoot Application啟動(dòng)過(guò)程run流程圖

SpringBoot集裝箱starter

spring-boot-starter

spring-boot-starter-actuator

spring-boot-starter-jdbc

spring-boot-starter-data-jpa

spring-boot-starter-data-*

spring-boot-starter-security

spring-boot-starter-test

spring-boot-starter-web

寫(xiě)一個(gè)自己定制的starter

properties/YAML配置PropertyConfig

Spring Boot 所提供的配置優(yōu)先級(jí)順序比較復(fù)雜耕魄。按照優(yōu)先級(jí)從高到低的順序:

配置優(yōu)先級(jí)

命令行參數(shù)。(最高)

通過(guò) System.getProperties() 獲取的 Java 系統(tǒng)參數(shù)彭谁。

操作系統(tǒng)環(huán)境變量吸奴。

從 java:comp/env 得到的 JNDI 屬性。

通過(guò) RandomValuePropertySource 生成的“random.*”屬性缠局。

應(yīng)用 Jar 文件之外的屬性文件则奥。

應(yīng)用 Jar 文件內(nèi)部的屬性文件。

在應(yīng)用配置 Java 類(lèi)(包含“@Configuration”注解的 Java 類(lèi))中通過(guò)“@PropertySource”注解聲明的屬性文件狭园。

通過(guò)“SpringApplication.setDefaultProperties”聲明的默認(rèn)屬性读处。

屬性文件

Spring Boot 提供的 SpringApplication 類(lèi)會(huì)搜索并加載 application.properties 文件來(lái)獲取配置屬性值。SpringApplication 類(lèi)會(huì)在下面位置搜索該文件妙啃。

當(dāng)前目錄的“/config”子目錄。

當(dāng)前目錄俊戳。

classpath 中的“/config”包揖赴。

classpath

YAML

spring:
profiles: development
db:
url: jdbc:hsqldb:file:testdb
username: sa
password:


spring:
profiles: test
db:
url: jdbc:mysql://localhost/test
username: test
password: test

模板引擎

jsp

velocity

freemarker

thymeleaf

內(nèi)嵌web容器EmbeddedServletContainerCustomizer

tomcat

jetty

集成SpringMVC開(kāi)發(fā)

spring-boot 加入攔截器Interceptor

WebMvcConfigurerAdapter: 一行代碼寫(xiě)Controller

WebSecurityConfigurerAdapter

@ControllerAdvice系統(tǒng)全局統(tǒng)一異常處理

數(shù)據(jù)庫(kù)持久層

jpa

mybatis

mysql

mongodb

RESTful:Spring Boot with Mongodb

H2

應(yīng)用監(jiān)控endpoint

技術(shù)棧

算法,數(shù)據(jù)結(jié)構(gòu)抑胎,編譯燥滑,架構(gòu),框架阿逃,分布式铭拧,項(xiàng)目管理,高性能恃锉,DB搀菩,系統(tǒng)(OS/網(wǎng)絡(luò)/存儲(chǔ)),JAVASCRIPT/CSS/html

Design Patterns

編程名言

以下內(nèi)容收集自一些優(yōu)秀的技術(shù)書(shū)籍章節(jié)開(kāi)頭的名言佳句破托,非常有意思肪跋,直接或間接反映了軟件開(kāi)發(fā)中的一些事情。

生命太短暫土砂,不要去做一些根本沒(méi)有人想要的東西州既∶涨ⅲ——Ash Maurya,Running Lean 作者
如果你交給某人一個(gè)程序吴叶,你將折磨他一整天阐虚;如果你教某人如何編寫(xiě)程序,你將折磨他一輩子蚌卤∈凳——David Leinweber
軟件設(shè)計(jì)有兩種方式:一種方式是,使軟件過(guò)于簡(jiǎn)單造寝,明顯沒(méi)有缺陷珍逸;另一種方式是媳荒,使軟件過(guò)于復(fù)雜,沒(méi)有明顯的缺陷∪逝耄——C.A.R. Hoare
其實(shí),我嘗試著使Ruby更自然哨坪,而不是簡(jiǎn)單界拦。Ruby看起來(lái)很簡(jiǎn)單,但內(nèi)部是非常復(fù)雜的锦聊,就像我們的身體一樣歹嘹。——松本行弘孔庭,Ruby之父
大部分情況下尺上,構(gòu)建程序的過(guò)程本質(zhì)上是對(duì)規(guī)范調(diào)試的過(guò)程≡驳剑——Fred Brooks怎抛,《人月神話(huà)》作者
軟件開(kāi)發(fā)往往是這樣:最開(kāi)始的90%代碼占用了開(kāi)始的90%的開(kāi)發(fā)時(shí)間;剩下10%代碼同樣需要90%的開(kāi)發(fā)時(shí)間芽淡÷砭——Tom Cargill
當(dāng)你試圖解決一個(gè)你不理解的問(wèn)題時(shí),復(fù)雜化就產(chǎn)成了挣菲「坏荆——Andy Boothe
用幾個(gè)小時(shí)來(lái)制定計(jì)劃,可以節(jié)省幾周的編程時(shí)間白胀⊥指常—— 匿名
控制復(fù)雜性是計(jì)算機(jī)編程的本質(zhì)』蚋埽—— Brian Kernighan
計(jì)算機(jī)科學(xué)領(lǐng)域的所有問(wèn)題都可以通過(guò)其他方式間接解決纹份。——David Wheeler
編程是兩隊(duì)人馬在競(jìng)爭(zhēng):軟件工程師努力設(shè)計(jì)出最大最好的連白癡都會(huì)使用的程序;而宇宙在拼命制造最大最好的白癡蔓涧。到目前為止件已,宇宙是勝利者≡—— Rick Cook
調(diào)試一個(gè)初次見(jiàn)到的代碼比重寫(xiě)代碼要困難兩倍篷扩。因此,按照定義茉盏,如果你寫(xiě)代碼非常巧妙鉴未,那么沒(méi)有人足夠聰明來(lái)調(diào)試它○蹋—— Brian W. Kernighan
我不是一個(gè)偉大的程序員铜秆,我只是一個(gè)具有良好習(xí)慣的優(yōu)秀程序員。― Kent Beck
你們中大多數(shù)人都熟悉程序員的美德讶迁,有三種:那就是懶惰连茧、急躁和傲慢。– Larry Wall巍糯,Perl語(yǔ)言發(fā)明人
任何一個(gè)傻瓜都會(huì)寫(xiě)能夠讓機(jī)器理解的代碼啸驯,只有好的程序員才能寫(xiě)出人類(lèi)可以理解的代碼∷盥停——Martin Fowler
靠代碼行數(shù)來(lái)衡量開(kāi)發(fā)進(jìn)度罚斗,就像是憑重量來(lái)衡量飛機(jī)制造的進(jìn)度≌悖——比爾?蓋茨
這不是一個(gè)bug针姿,這只是一個(gè)未列出來(lái)的特性⊙嵫茫——匿名
作為一個(gè)程序員距淫,郁悶的事情是,面對(duì)一個(gè)代碼塊迅箩,卻不敢去修改溉愁。更糟糕的是处铛,這個(gè)代碼塊還是自己寫(xiě)的饲趋。—— Peyton Jones
它在我的機(jī)器上可以很好運(yùn)行撤蟆!——大部分程序員
能說(shuō)算不上什么奕塑,有本事就把你的代碼給我看看〖铱希——Linus Torvalds龄砰,Linux之父
我認(rèn)為對(duì)象就像是生物學(xué)里的細(xì)胞,或者網(wǎng)絡(luò)中的一臺(tái)計(jì)算機(jī),只能夠通過(guò)消息來(lái)通信——Alan Kay换棚,Smalltalk的發(fā)明人式镐,面向?qū)ο笾?br> 當(dāng)你選擇了一種語(yǔ)言,意味著你還選擇了一組技術(shù)固蚤、一個(gè)社區(qū)娘汞。——Joshua Bloch
質(zhì)量夕玩、速度你弦、廉價(jià),選擇其中兩個(gè)燎孟∏葑鳎——匿名
過(guò)早的優(yōu)化是罪惡之源】常——Donald Knuth
沒(méi)有什么代碼的執(zhí)行速度比空代碼更快旷偿。——Merb核心原則
如果你是房間里最聰明的人碍沐,那么你走錯(cuò)房間了狸捅。——匿名
如果只需更改一個(gè)單一的代碼行累提,你的部門(mén)需要花費(fèi)多長(zhǎng)時(shí)間尘喝?——Mary Poppendieck
九個(gè)人不能讓一個(gè)孩子在一個(gè)月內(nèi)出生≌悖——Fred Brooks朽褪,《人月神話(huà)》作者
好代碼本身就是最好的文檔。當(dāng)你需要添加一個(gè)注釋時(shí)无虚,你應(yīng)該考慮如何修改代碼才能不需要注釋缔赠。——Steve McConnell友题,Code Complete 作者
一個(gè)人在教會(huì)電腦之前嗤堰,別說(shuō)他真正理解這個(gè)東西了《然拢——Donald Knuth

UNIX理念

工程構(gòu)建

maven

gradle

基于Goovy的Gradle

Gradle的安裝非常方便踢匣,下載ZIP包,解壓到本地目錄戈抄,設(shè)置 GRADLE_HOME 環(huán)境變量并將 GRADLE_HOME/bin 加到 PATH 環(huán)境變量中离唬,安裝就完成了。

類(lèi)似于Maven的pom.xml文件划鸽,每個(gè)Gradle項(xiàng)目都需要有一個(gè)對(duì)應(yīng)的build.gradle文件输莺,該文件定義一些任務(wù)(task)來(lái)完成構(gòu)建工作

代碼版本控制

git

svn

Kotlin

kotlin是由IntelliJ IDEA的開(kāi)發(fā)商Jetbrain推出的一種基于JVM的開(kāi)發(fā)語(yǔ)言戚哎,目標(biāo)是簡(jiǎn)化Java中很多繁瑣的設(shè)計(jì),可以和Java無(wú)縫的集成

Springboot使用Kotlin和Java混合編程

微服務(wù)

以前一個(gè)大型應(yīng)用程序搞定所有需求

現(xiàn)在更傾向于把大型應(yīng)用程序切分成多個(gè)微服務(wù)嫂用,服務(wù)之間通過(guò) RPC 調(diào)用

微服務(wù)架構(gòu)的好處

服務(wù)之間相互隔離型凳,減少宕機(jī),不可用的概率

讓專(zhuān)門(mén)的api去負(fù)責(zé)專(zhuān)門(mén)的事情

small is beautiful

APIs as a product

DevOps(Development&Operations)

軟件生命周期融合

PD

Dev

QA

Ops

Rest API

使用Spring Boot&Swagger快速構(gòu)建REST API并生成優(yōu)美的API文檔

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末嘱函,一起剝皮案震驚了整個(gè)濱河市啰脚,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌实夹,老刑警劉巖橄浓,帶你破解...
    沈念sama閱讀 206,013評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異亮航,居然都是意外死亡荸实,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,205評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)缴淋,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)准给,“玉大人,你說(shuō)我怎么就攤上這事重抖÷兜” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,370評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵钟沛,是天一觀的道長(zhǎng)畔规。 經(jīng)常有香客問(wèn)我,道長(zhǎng)恨统,這世上最難降的妖魔是什么叁扫? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,168評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮畜埋,結(jié)果婚禮上莫绣,老公的妹妹穿的比我還像新娘。我一直安慰自己悠鞍,他們只是感情好对室,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,153評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著咖祭,像睡著了一般掩宜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上心肪,一...
    開(kāi)封第一講書(shū)人閱讀 48,954評(píng)論 1 283
  • 那天锭亏,我揣著相機(jī)與錄音纠吴,去河邊找鬼硬鞍。 笑死,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的固该。 我是一名探鬼主播锅减,決...
    沈念sama閱讀 38,271評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼伐坏!你這毒婦竟也來(lái)了怔匣?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 36,916評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤桦沉,失蹤者是張志新(化名)和其女友劉穎每瞒,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體纯露,經(jīng)...
    沈念sama閱讀 43,382評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡剿骨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,877評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了埠褪。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片浓利。...
    茶點(diǎn)故事閱讀 37,989評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖钞速,靈堂內(nèi)的尸體忽然破棺而出贷掖,到底是詐尸還是另有隱情,我是刑警寧澤渴语,帶...
    沈念sama閱讀 33,624評(píng)論 4 322
  • 正文 年R本政府宣布苹威,位于F島的核電站,受9級(jí)特大地震影響驾凶,放射性物質(zhì)發(fā)生泄漏屠升。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,209評(píng)論 3 307
  • 文/蒙蒙 一狭郑、第九天 我趴在偏房一處隱蔽的房頂上張望腹暖。 院中可真熱鬧,春花似錦翰萨、人聲如沸脏答。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,199評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)殖告。三九已至,卻和暖如春雳锋,著一層夾襖步出監(jiān)牢的瞬間黄绩,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,418評(píng)論 1 260
  • 我被黑心中介騙來(lái)泰國(guó)打工玷过, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留爽丹,地道東北人筑煮。 一個(gè)月前我還...
    沈念sama閱讀 45,401評(píng)論 2 352
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像粤蝎,于是被迫代替她去往敵國(guó)和親真仲。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,700評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理初澎,服務(wù)發(fā)現(xiàn)秸应,斷路器,智...
    卡卡羅2017閱讀 134,599評(píng)論 18 139
  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,748評(píng)論 6 342
  • 文|璇子 那一縷清風(fēng) 解不開(kāi)夜深人靜的謎語(yǔ) 那蕩漾在湖泊上的波痕 水草倒映著顫顫的孤影 著了誰(shuí)的迷碑宴,夜的荒涼 卻成...
    花非物欲閱讀 246評(píng)論 0 4
  • 一首歌软啼,一張照片,太容易被時(shí)光附上意義延柠。它們說(shuō)不上伴你成長(zhǎng)焰宣,卻總在不經(jīng)意間。出現(xiàn)在你的腦海里,填充些什么捕仔。 ▁▁▁...
    三層樓閱讀 520評(píng)論 4 5
  • 是的匕积,在《人民的名義》后,我迷上了《我的前半生》榜跌。師太的書(shū)沒(méi)看過(guò)一本闪唆,身邊有朋友對(duì)師太甚是喜歡,但說(shuō)實(shí)話(huà)我真的不...
    她叫我郭大寶閱讀 383評(píng)論 0 2