天天看點

SpringBoot

ssm整合步驟多、配置繁瑣

項目進行伺服器部署步驟繁瑣

springboot就是一個可以簡化整合過程中複雜配置的架構

随着動态語言的流行,java語言的開發就顯得格外笨重:配置繁瑣、開發效率低、項目的部署變得複雜、內建第三方技術難度大。

在這種情況下,springboot就應運而生。

springboot采用了<code>習慣優于配置/約定大于配置</code>的理念快速的搭建項目的開發環境,我們無需或者進行很少的相關spring配置就能夠快速的将項目運作起來

能夠快速的搭建項目

對主流的開發架構都提供了無配置內建(springboot内置了配置)

項目可以獨立運作、無需單獨配置servlet容器(内置了tomcat)

極大提高了開發、部署效率

提供了運作時監控系統(日志等)

與雲原生有天然的內建

由于配置都是内置的,報錯時定位比較困難

版本疊代速度比較快、有些版本改動還是比較大(增加學習成本)

體驗:基于springboot整合springmvc springboot應用需要依賴遠端伺服器進行建立 遠端伺服器: spring官方:https://start.spring.io ali:https://start.aliyun.com

3.1 file---new---project

SpringBoot

3.2 填寫項目資訊

SpringBoot

3.3 選擇項目依賴

SpringBoot

3.4 選擇項目存儲目錄

SpringBoot

3.5 網頁建立springboot應用

如果基于idea建立無法下載下傳,可以基于網頁版進行建立

SpringBoot

3.2.1 應用項目結構

SpringBoot

3.2.2 自定義配置(整合mybatis)

springboot幫助我們完成通用性配置,但是像資料庫連接配接位址、賬号、密碼等還是需要手動完成配置

修改mysql驅動的版本(選擇性)

在springboot主配置檔案<code>application.properties</code>檔案中配置資料源及路徑

在springboot啟動類通過<code>@mapperscan</code>注解指定dao接口的包名

3.3.1 啟動

springboot應用自帶servlet容器—tomcat,是以無需進行額外的伺服器配置,運作啟動類即可啟動一個springboot應用

3.3.2 測試

使用者的注冊功能
一個starter就是一個開發場景的支援( 依賴 + 配置) springboot為我們提供了簡化企業級開發絕大多數場景的支援(提供了多個starter),我們在進行項目開發的過程中隻需引入對應的starter(建立springboot應用時可選擇),相關的依賴和配置就會被内置到項目中(消除人工配置)。

4.1.1 starter依賴

一個starter依賴表示的不是一個依賴,而是某種開發環境所需的一組依賴

spring web --- <code>spring-boot-starter-web</code>

mybatis framework --- <code>mybatis-spring-boot-starter</code>

4.1.2 starter配置

一個starter不僅包含所需依賴,還包含了其所需的對應的配置

依賴:

SpringBoot

配置:

SpringBoot

4.1.3 案例

引入redis開發場景

添加starter依賴

在service中可以直接注入redis用戶端

4.2.1 基于spring官方伺服器建立的springboot應用

繼承spring-boot-starter-parent.pom

引入了maven對springboot應用支援的插件 spring-boot

4.2.2 基于ali伺服器建立的springboot應用

如果我們需要在springboot應用中整合一種新的開發場景,隻需在pom.xml引入對應的starter即可 一個starter不僅包含依賴,還包含相應的配置,starter中包含的配置都是通過java類實作的——java配置方式

4.3.1 spring版本發展

随着spring版本的疊代,配置方式也在發生變化

spring 1.x

所有的bean的配置隻能通過xml完成

spring 2.x

基于jdk1.5對注解的支援,spring 2.x開始支援注解

企業開發中到底是用xml配置還是用注解?

對基礎配置、引用的第三方依賴中的配置使用xml完成:例如資料源配置

業務開發使用注解:例如controller、service

spring 3.x

spring 開始提供基于java的配置方式

spring 4.x

xml、注解、java

4.3.2 xml配置

4.3.3 注解配置

4.3.4 java配置方式

建立配置類

SpringBoot
springboot針對不同的開發場景提供預設的屬性配置,如果預設的配置不能滿足開發的需要,我們需要對屬性配置進行修改

springboot應用提供了一個全局配置檔案<code>application.properties</code>用于進行自定義配置

全局配置檔案支援2中文法配置:

properties 鍵值對配置

yaml 文法的配置

4.5.1 基于properties配置

4.5.2 基于yaml配置

4.5.3 常用的全局配置

在springboot應用啟動的時候是有一個預設啟動圖案的

這個預設圖案支援自定義配置

在resources目錄建立一個banner.txt

在banner.txt檔案中定義圖案 http://patorjk.com/software/taag/

佛祖保佑

springboot應用預設支援的動态網頁技術是thymeleaf,并不支援jsp;是以在springboot應用想要使用jsp需要通過手動整合來實作

修改pom檔案打包方式為war

在main中建立webapp目錄

在webapp建立.jsp頁面

将jsp檔案存放到web-inf目錄

在application.yml檔案配置springmvc視圖解析方式:

建立pagecontroller

建立項目時添加依賴

lombok

spring web

mysql driver

mybatis framework

修改mysql驅動的版本(可選)

将預設建立的application.properties字尾名修改為<code>yml</code>(根據習慣可選)

完成mybatis的自定義配置

<code>@mapperscan</code>

在springboot中整合mybatis的時候,預設內建了hikari連接配接池,hikari的效率比druid要高,但是得益于druid提供了比較便捷的監控系統在企業開發中,druid使用還是最多的。

6.4.1 添加druid的starter

6.4.2 配置druid資料源

thymeleaf是一種類似于jsp的動态網頁技術

jsp 必須依賴tomcat運作,不能直接運作在浏覽器中

html可以直接運作在浏覽器中,但是不能接收控制器傳遞的資料

thymeleaf是一種既保留了html的字尾能夠直接在浏覽器運作的能力、又實作了jsp顯示動态資料的功能——靜能檢視頁面效果、動則可以顯示資料

springboot應用對thymeleaf提供了良好的支援

7.2.1 添加thymeleaf的starter

7.2.2 建立thymeleaf模闆

thymeleaf模闆就是html檔案

springboot應用中 <code>resources\templates</code>目錄就是用來存放頁面模闆的

<code>重要說明:</code>

static 目錄下的資源被定義靜态資源,springboot應用預設放行;如果将html頁面建立static目錄是可以直接通路的

templates 目錄下的檔案會被定義為動态網頁模闆,springboot應用會攔截templates中定義的資源;如果将html檔案定義在templates目錄,則必須通過控制器跳轉通路。

在templates建立html頁面模闆

建立pagecontroller,用于轉發允許"直接通路"的頁面請求

如果要在thymeleaf模闆中擷取從控制傳遞的資料,需要使用th标簽

7.3.1 在thymeleaf模闆頁面引入th标簽的命名空間

7.3.2 th:text

在幾乎所有的html雙标簽都可以使用 th:text屬性,将接收到的資料顯示在标簽的内容中

7.3.3 th:inline 内聯

html内聯

css内聯

javascript内聯

7.3.4 th:object 和 *

7.4.1 th:each 循環

7.4.2 分支

th:if 如果條件不成立,則不顯示此标簽

th:switch 和 th:case

7.5.1 碎片的概念

碎片,就是html片段,我們可以将多個頁面中使用的相同的html标簽部分單獨定義,然後通過th:include可以在html網頁中引入定義的碎片
SpringBoot

7.5.2 碎片使用案例

定義碎片 th:fragment

header.html

footer.html

引用碎片 th:include 和 th:replace

a.html

項目首次部署、服務啟動之後,如果應用發生了變化、而且idea感覺到了應用的變化,就自動的完成jar的更新,無需手動再次啟動伺服器,就可以通路應用的更新。

8.2.1 ide配置(idea)

file---settings

SpringBoot

ctrl+shift+alt+/ ----- registry

SpringBoot
SpringBoot

8.2.2 springboot項目配置

在需要進行熱部署的springboot應用中添加依賴

配置springboot的maven插件

配置springboot應用的變化更新政策

SpringBoot