天天看点

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