说说 Spring Boot 所支持的视图技术

Spring Boot 支持以下视图技术。

视图技术 Spring Boot 相关依赖
FreeMarker spring-boot-starter-freemaker
Groovy Templates spring-boot-starter-groovy-templates
JSP 由 Servlet 容器提供支持
Mustache spring-boot-starter-mustache
Thymeleaf spring-boot-starter-thymeleaf

Mustache 发音: /ˈmʌstæʃ,məˈstæʃ/ ;胡子。
Thyme 发音:/taɪm/;百里香。

Thyme

(1)切换视图技术

一般情况下,我们只需要选择想要使用的视图技术相关依赖,添加到构建配置文件中,然后就可以在 “/templates” 目录下(在基于 Maven 构建的项目中,这个目录具体在 “src/main/resources” 内)编写相应视图技术的模板了 。

(2)慎用 JSP

**注意:**因为 Servlet 容器本身(比如 Tomcat )会实现 JSP ,因此不需要额外的依赖。但是,如果选择了 JSP ,Java Servlet 容器(包括嵌入式的 Tomcat 和 Jetty 容器),通常会在 “/WEB-INF” 目录下寻找 JSP 文件。所以只有将应用构建为 WAR 文件并部署到传统的 Servlet 容器中时,才能选择使用 JSP 视图技术。

如果我们想要构建的是可执行 JAR 文件,那么必须选择 Thymeleaf、FreeMarker 等模板视图技术。

(3)模板缓存

默认情况下,模板只有在第一次使用的时候解析一次,解析的结果会被缓存起来,以供后续请求使用。这样做可以有效地减少模板解析时的性能损耗,适合生产环境。

但在开发环境就不适用咯。因为开发者希望只要修改了代码,就可以立即看到修改后的效果。这种场景下,我们就必须禁用缓存。

扫描二维码关注公众号,回复: 11606088 查看本文章

可以在 application.yml 中,关闭所使用视图技术的缓存功能。形如:

spring:
  # 禁用缓存
  thymeleaf:
    cache: false

每种视图模板技术都有相应的缓存开关配置项:

视图模板技术 缓存配置
FreeMarker spring.freemarker.cache
Groovy Templates spring.groovy.template.cache
Mustache spring.mustache.cache
Thymeleaf spring.thymeleaf.cache

默认情况下,这些配置项都是 true ,即默认启用缓存。如果关闭了缓存,记得在部署时开起来。

有两种方法可以简化这一步骤。一种方法是将配置设置到 profile 中;另一种方法是使用 Spring Boot 的 Dev Tools,它会在部署时自动将自身禁用掉。

猜你喜欢

转载自blog.csdn.net/deniro_li/article/details/108308554