年轻就不应该让自己过得太舒服” – From yong

一、Springboot 那些事

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

Springboot 那些事:

系类文章:

《Spring Boot 之 RESRful API 权限控制》

《Spring Boot 之 HelloWorld 详解》

《Springboot 整合 Mybatis 的完整 Web 案例》

《Springboot 实现 Restful 服务,基于 HTTP / JSON 传输》

《Springboot 集成 FreeMarker》

二、运行 springboot-freemarker 工程

git clone 下载工程 springboot-learning-example ,项目地址见 GitHub – https://github.com/JeffLi1993/springboot-learning-example。下面开始运行工程步骤(Quick Start):

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

三、 springboot-freemarker 工程配置详解

具体代码见 GitHub – https://github.com/JeffLi1993/springboot-learning-example

1.pom.xml 依赖

pom.xml 代码如下:

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系列的学习笔记和面试题,包含spring面试题、spring cloud面试题、spring boot面试题、spring教程笔记、spring boot教程笔记、最新阿里巴巴开发手册(63页PDF总结)、2022年Java面试手册。一共整理了1184页PDF文档。私信博主(777)领取,祝大家更上一层楼!!!

Spring Boot 集成 FreeMarker 详解案例相关推荐

  1. SpringBoot2.1.5(16)--- Spring Boot的日志详解

    SpringBoot2.1.5(16)--- Spring Boot的日志详解 市面上有许多的日志框架,比如 JUL( java.util.logging), JCL( Apache Commons ...

  2. Spring boot集成freemarker导出excel

    使用Spring boot集成freemarker可以将一些复杂的excel表格导出 下面直接开始使用步骤: 1. 集成freemarker 在pom.xml文件中导入springfreemarker ...

  3. Spring Boot(3)---Spring Boot启动器Starter详解

    Spring Boot的启动器Starter详解 Spring Boot 简化了 Spring 应用开发,不需要配置就能运行 Spring 应用, Spring Boot 管理 Spring 容器.第 ...

  4. Spring Boot (4)---配置文件详解

    Spring2.0 Boot配置文件详解 配置文件说明 Spring Boot 配置文件允许为同一套应用,为不同的环境用不同的配置文件.比如开发环境.测试环境.生成环境.你可以用 properties ...

  5. Spring Boot事务管理详解

    什么是事务? 我们在开发企业应用时,对于业务人员的一个操作实际是对数据读写的多步操作的结合.由于数据操作在顺序执行的过程中,任何一步操作都有可能发生异常,异常会导致后续操作无法完成,此时由于业务逻辑并 ...

  6. docker添加新的环境变量_Docker的安装及部署Spring Boot项目操作详解!

    本文使用Docker部署Spring Boot项目.部署之前需要环境中已经安装Docker和Maven(用于打包),所以本文先进行安装Docker和Maven:接着搭建一个Spring Boot项目, ...

  7. Spring Boot Logback 配置详解

    1.Logback简介 Logback是由log4j创始人设计的又一个开源日志组件. 相比于log4j,Logback重写了内核,在一些关键执行路径上性能提升10倍以上.而且logback不仅性能提升 ...

  8. spring boot配置Jackson详解

    Jackson介绍: Spring Boot支持与三种JSON mapping库集成:Gson.Jackson和JSON-B.Jackson是首选和默认的. Jackson是spring-boot-s ...

  9. Spring Boot底层原理详解及整合

    Spring Boot框架 通过Spring Boot 可以构建一个基于Spring框架的Java Application,简化配置,自动装配,开箱即用 JavaConfiguration用Java类 ...

最新文章

  1. 大数据安全事件警示:海量数据放哪才真正放心
  2. 验证组播的TTL阀值
  3. hdu4665 DFS
  4. win10打开程序响应很慢_小程序商城打开加载很慢?你上传的图片是不是太大了,压缩一下吧!...
  5. 计算机应用技术一级考试成绩,《计算机应用基础》课程与等级考试成绩的关系...
  6. Wise Package Studio介绍
  7. bzoj 4002: [JLOI2015]有意义的字符串
  8. android中进行https连接的方式的详解
  9. 统计图的连通块的个数的两种方法
  10. C语言程序设计谭浩强(第四版)部分课后习题作答——第四章
  11. excel单元格调用mysql数据,excel表格自动调用数据库-如何把Excel表格当做数据库处理...
  12. uml中活动图与流程图的区别
  13. 树的遍历 ALDS1_7_C: Tree Walk
  14. 对服务器系统盘扩容,服务器系统盘扩容
  15. L1-4 拯救外星人
  16. macOS下快速复制文件或文件夹路径
  17. 2对应字母权限Linux,linux中文件权限的字母含义
  18. 2022年黄石市高企申报奖励补贴以及认定奖励补贴汇总!
  19. java面试题(记录与分享)二
  20. 1.3 QT界面美化

热门文章

  1. 开放API接口安全设计
  2. ChatGPT:招聘流程中的虚拟招聘专家
  3. Visual Studio 97 下载地址 V5.0各种版本官方下载网址
  4. 中国高端旅游人群洞察报告.pdf
  5. Ubuntu:截图快捷键
  6. 自学python可以找到工作吗_通过自学python能找到工作吗
  7. dedecms阉割版本姿势
  8. 16-响应式布局(bootstrap框架)
  9. 【PHP】Phpstorm环境配置与应用
  10. C# SSH Shell终端模拟控件Rebex SSH Shell详细介绍