天天看點

Spring Boot 內建 FreeMarker 詳解案例

springboot 很友善的內建 freemarker ,dao 資料庫操作層依舊用的是 mybatis,本文将會一步一步到來如何內建 freemarker 以及配置的詳解:

springboot 那些事:

系類文章:

<a href="http://www.bysocket.com/?p=1080">《spring boot 之 resrful api 權限控制》</a> <a href="http://www.bysocket.com/?p=1124">《spring boot 之 helloworld詳解》</a> <a href="http://www.bysocket.com/?p=1610">《springboot 整合 mybatis 的完整 web 案例》</a> <a href="http://www.bysocket.com/?p=1627">《springboot 實作 restful 服務,基于 http / json 傳輸》</a> <a href="http://www.bysocket.com/?p=1666">《springboot 內建 freemarker》</a>

1.資料庫準備

a.建立資料庫 springbootdb:

b.建立表 city :(因為我喜歡徒步)

c.插入資料

2. 項目結構介紹

項目結構如下圖所示:

org.spring.springboot.controller – controller 層 org.spring.springboot.dao – 資料操作層 dao org.spring.springboot.domain – 實體類 org.spring.springboot.service – 業務邏輯層 application – 應用啟動類 resources/application.properties – 應用配置檔案,應用啟動會自動讀取配置 resources/web – *.ftl檔案,是 freemarker 檔案配置路徑。在 application.properties 配置 resources/mapper – dao maper xml 檔案

3.改資料庫配置

打開 application.properties 檔案, 修改相應的資料源配置,比如資料源位址、賬号、密碼等。(如果不是用 mysql,pom 自行添加連接配接驅動依賴,然後修改驅動名配置。)

4.編譯工程

在項目根目錄 springboot-learning-example,運作 maven 指令:

mvn clean install

5.運作工程

右鍵運作 springboot-freemarker 工程 application 應用啟動類的 main 函數,然後在浏覽器通路:

擷取 id 編号為 1 的城市資訊頁面:

擷取城市清單頁面:

6.補充

運作環境:jdk 7 或 8,maven 3.0+

技術棧:springboot、mybatis、freemarker

1.pom.xml 依賴

pom.xml 代碼如下:

在 pom.xml 依賴中增加 spring boot freemarker 依賴。

2.配置 freemarker

然後在 application.properties 中加入 freemarker 相關的配置:

這是我這塊的配置,如果需要更多的 freemarker 配置,可以檢視下面的詳解:

3.展示層 controller 詳解

a.這裡不是走 http + json 模式,使用了 @controller 而不是先前的 @restcontroller

b.方法傳回值是 string 類型,和 application.properties 配置的 freemarker 檔案配置路徑下的各個 *.ftl 檔案名一緻。這樣才會準确地把資料渲染到 ftl 檔案裡面進行展示。

c.用 model 類,向 model 加入資料,并指定在該資料在 freemarker 取值指定的名稱。

freemarker 是常用的模闆引擎,很多開發 web 的必選。