SpringBoot知識彙總
1、SprgBoot優點:
1)、開箱即用,提供各種預設配置來管理專案,無需XML配置;
2)、內嵌式容器簡化Web專案,無需部署War檔案;
3)、簡化Maven配置;
4)、獨立的Spring應用程式;
5)、自動配合Spring;
2、使用SpringBoot系統要求;
1)、Java7以上;
2)、Spring Framework 4.1.5以上;
3、建立HelloWorld工程:
1)、建立一個型別為Jar的Maven工程;
2)、 pom檔案引入依賴:
3)、編寫Controller類:
a)、第一種啟動方式:
b)、第二種啟動方式(定義控制器掃包範圍):
4、SpringBoot訪問靜態資源
1)、SpringBoot預設在classpath下提供靜態資源目錄,且目錄名只能命名為一下規則:
/static
/public
/resource
/META-INF/resource
2)、訪問路徑:http://localhost:8080/1.png(注意不需要新增資料夾名稱,SpringBoot啟動預設配置好在classpath)
5、異常handler類切面攔截全域性異常
1)、建立一個全域性異常攔截Handler
@ControllerAdvice controller 的一個輔助類,最常用的就是作為全域性異常處理的切面類,可以指定掃描範圍,約定了幾種可行
的返回值,如果是直接返回 model 類的話,需要使用 @ResponseBody 進行 json 轉換,返回 String,表示跳到某個 view
6、渲染Web頁面
1)、模板引擎
SpringBoot可以實現動態HTML,並且提供了多種模板引擎的預設配置支援,只有有以下幾種:
a)、Thymeleaf
b)、FreeMarker
c)、Velocity
d)、Groovy
e)、Mustahe
SpringBoot建議使用這些模板引擎,避免使用JSP,但也支援JSP的配置,以上預設配置路徑:src/main/esource/template(模板的配置屬性中可修改)
2)、使用FreeMarker引擎渲染Web檢視:
a)、pom.xml檔案中引入依賴支援:
b)、後臺Controller類
c)、前臺在src/main/resource/template中建立index.ftl頁面渲染內容
d)、在新建的application.properties檔案中配置FreeMarker
3)、使用Jsp渲染Web檢視:
a)、pom.xml檔案中新增依賴支援
b)、application.properties中配置預設路徑配置
Spring.mvc.view.prefix = /WEN-INF/jsp
Spring.mvc.view.suffic = .jsp
c)、後臺程式碼
d)、建立對應的jsp檔案
7、SpringBoot整合JdbcTemplate
1)、pom.xml檔案中新增依賴支援
2)、application.properties配置資料來源資訊
3)、AppController
4)、IndexController
5)、UserService
8、SpringBoot繼承myBatis
1)、pom.xml檔案中新增依賴支援
2)、application.properties配置資料來源資訊
3)、AppController
4)、UserMapper
9、springBoot整合JPA
1)、pom.xml新增依賴支援
2)、APPController
3)、IndexController
4)、 UserDao
5)、Users實體類
10、SpringBoot整合多資料來源
1)、application.properties中配置自定義多資料來源
附:springboot預設資料來源為:
2)、自定義資料來源資訊類Test01(多資料來源時需要自定義,預設資料來源時不需要編寫)
3)、參照Test01資料來源,自定義資料來源資訊類Test02
4)、AppController
5)、IndexController
6)、User01Service
7)、User1mapper
11、SpringBoot整合事物管理
1)、註解式開啟註解
附:當在User01Service中操作資料來源2的時候,因為不在同個事物管理中,所以報錯不會回滾會產生髒資料,這個時候採用分散式事物管理方案
2)、分散式事物管理
分散式通訊:呼叫介面(HttpClient使用http協議、WebService使用socket協議)
常用的分散式事物管理方案: automatic+jta、兩段提交協議、MQ推送
使用automatic+jta操作多資料來源方案解決多資料來源時不再同一事物管理會產生髒資料的bug
a)、pom.xml中新增依賴支援
b)、application.properties中配置多個數據源資訊
c)、資料來源資訊類讀取applicatioin.properties中配置的資料來源資訊
d)、資料來源資訊類管理類,將資料來源資訊交由automatic管理
e)、AppController(需要新增@EnableConfigurationProperties(value= { DBConfig1.class, DBConfig2.class })開啟資料來源資訊類中的註解))
f)、User01Service中操作資料來源2,報錯時automatic會進行事物回滾
12、SpringBoot使用AOP統一處理web請求日誌管理
1)、pom.xml中新增依賴支援
2)、WebLogAspect日誌管理類
3)、IndexController中定義請求方法,即會在控制檯中列印日誌
13、SpringBoot整合快取
1)、pom.xml中新增依賴支援
2)、ehCache.xml檔案配置快取資訊
3)、UserMapper
4)、AppContorller新增掃描包、開啟快取註解
5)、清楚快取
6)、可使用Redis做集中式快取
14、SpringBoot使用@Async實現非同步多執行緒執行
1)、AppController註解開啟非同步執行
2)、IndexController中呼叫Service
3)、userService中新增非同步多執行緒執行註解
4)、主執行緒的執行等級會比子執行緒高
15、SpringBoot中自定義引數
1)、application.properties中宣告引數名=引數值
name = zhangshan
2)、IndexController中使用value註解
16、SpringBoot多環境配置(開發、測試、生產)
1)、application.preperties中定義有效環境
spring.profiles.active=pre
2)、applicaion-dev.preperties
name = devName
3)、application-test.properties
name = testName
17、SpringBoot修改埠號
1)、application.properties
server.port=8888 //埠號
server.context-path=/itmayiedu //上下文
18、SpringBoot使用.yml檔案
1)、application.yml(相當於properties)
19、SpringBoot專案打包
1)、pom.xml中新增build配置
如果沒有新增會報沒有主清單錯誤(生成的War包檔案中缺少Main-Class配置資訊)
2)、使用maven打包命令打War包:mvn package
3)、執行War包:java -jar War包名稱
1)、