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 的必選。