Spring Boot 集成 FreeMarker 详解案例

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Coco_Wditm/article/details/84325086

一、Springboot 那些事

SpringBoot 很方便的集成 FreeMarker ,DAO 数据库操作层依旧用的是 Mybatis,本文将会一步一步到来如何集成 FreeMarker 以及配置的详解

二、运行 springboot-freemarker 工程

1.数据库准备

a.创建数据库 springbootdb:

b.创建表 city :(因为我喜欢徒步)

c.插入数据

  1. 项目结构介绍

项目结构如下图所示:

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

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

欢迎大家和我一起学习Spring Boot构建微服务云架构,我这边会将近期研发的Spring Boot微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发Spring Boot框架的朋友,大家来一起探讨Spring Boot架构的搭建过程及如何运用于企业项目

我本人邀约各大BATJ架构大牛共创Spring Boot构建微服务架构的交流社区。 (群号:364677697)欢迎各路架构师、开发者,学习与交流使用Spring Boot诸多强大组件的实战经验。

为什么某些人会一直比你优秀,是因为他本身就很优秀还一直在持续努力变得更优秀,而你是不是还在满足于现状内心在窃喜!

合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

希望此文能帮到大家的同时,也听听大家的观点。欢迎留言讨论,加关注,分享你的高见!持续更新

To-陌霖Java架构

分享互联网最新文章 关注互联网最新发展

猜你喜欢

转载自blog.csdn.net/Coco_Wditm/article/details/84325086