一、什么是freemarker
freemarker是一种模板引擎。在早前我们使用Struts或者SpringMVC等框架的时候,使用的都是jsp,jsp的本质其实就是一个Servlet,其中的数据需要在服务端进行渲染,然后再在客户端显示,效率比较低下。
【思考问题】
在学习之前,大家可以试着考虑一下一个比较实际的问题,只有1-2台服务器,客户端有200+,如果所有的渲染数据都放在服务端进行的话,服务端将承受多大的压力?况且现如今计算机性能普遍已经很高了,我们完全可以将这部分压力分摊给客户端,而且实际情况中服务器的数量肯定是远远少于客户端的数量。
二、为什么要使用freemarker
现如今,我们开发的项目基本上是以前后端分离为主的,其中的好处不言而喻,所以随之兴起的技术也数不胜数,而模板引擎就是其中一种。
模板引擎中数据渲染是在客户端,在效率方面,相比传统的jsp会高一些。
Spring官方比较推荐的是thymeleaf,其文件后缀是html。
本篇文章我们主要来看看SpringBoot整合freemarker。
三、开始干活
【第一步】创建一个SpringBoot项目,创建时可以勾选上如下图所示的依赖:
注:如果你的项目已经存在,可以在pom.xml文件中添加依赖,如下所示:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-freemarker</artifactId>
</dependency>
【第二步】我们可以创建一个bean和一个controller,bean中主要是定义一个实体,controller主要是进行业务的处理(这里我简写了,直接就用controller了),具体目录结构和代码如下所示:
【目录结构】
【User.java】
package com.mango.freemarker.bean;
public class User {
private long id;
private String username;
private String address;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}