Spring Boot 的 Web 开发支持

Spring Boot 使用 spring-boot_starter-web 为 Web 开发提供支持,spring-boot-starter-web 包 含了 Spring Boot预定义的一些Web开发的常用依赖包,为开发者提供了嵌入的Tomcat以及 Spring MVC的依赖。而与Web相关的自动配置支持则保存在spring-boot-autoconfigure.jar的 org.springframework.boot.autoconfigure.web下面。如图
web相关的自动配置支持类:

重要的自动配置支持如下:

  • HttpEncodingAutoConfiguration 和 HttpEncodingProperties 用来自动配置 http 的编码。
  • JacksonHttpMessageConvertersConfiguration 用来自动配置 Jackson 相关的 Converter。
  • MultipartAutoConfiguration 和 MultipartProperties 用来自动配置上传文件的属性。
  • ServerPropertiesAutoConfiguration 和 ServerProperties 用来自动配置内嵌的 Servlet 容器。
  • WebMvcAutoConfiguration 和 WebMvcProperties 用来自动配置 Spring MVC 功能。

Thymeleaf 模板引擎

SpringBoot建议使用HTML来完成动态页面。SpringBoot提供了大量的模板引擎,包括 Thymeleaf、FreeMarker、Velocity 等。

Spring Boot官方推荐使用Thymeleaf模板引擎来完成动态页面,并且为Thymeleaf提供了 完美的SpringMVC的支持,Thymeleaf模板引擎可以支持纯HTML浏览器展现(模板表达式在脱离运行环境下不污染HTML结构)。

Thymeleaf 概述

Thymeleaf是面向Web和独立环境的现代服务器端Java模板引擎,能够处理HTML、XML、 JavaScript、CSS甚至纯文本,可以作为MVC Web应用层的View层显示数据。

Thymeleaf是一个扩展性很强的模板引擎(实际上它可以称为模板引擎框架),Thymeleaf 允许开发者自定义模板,并且很好地处理该模板的细节。将一些逻辑应用于标记组件(标签、 某些文本、注释或只有占位符)的一个对象被称为处理器,通常这些处理器的集合以及一些额外的组件就组成了 Thymeleaf方言。Thymeleaf的核心库提供了一种称为标准方言的方言,这对大多数用户来说己经足够了。如果用户希望在使用标准方言库的高级功能的同时定义自己的 处理逻辑,也可以创建自己的方言(甚至扩展标准的方言)。

官方的thymeleaf-spring5的整合包里定义了一种称为“Spring标准方言”的方言,该方言 与“Thymeleaf标准方言”大致相同,但是对于Spring框架中的某些功能(例如,通过使用 SpringEL表达式代替OGNL表达式)做了一些简单的调整。使之更完美地匹配Spring MVC, 所以Spring Boot官方推荐使用Thymeleaf完全替代JSP。

Thymeleaf标准方言中的大多数处理器都是属性处理器。这样,即使在模板未被处理之前, 浏览器也可以正确地显示HTML模板文件,因为浏览器将简单地忽略其不识别的属性。例如, 像下面这段JSP模板的代码片段就不能在模板被解析之前通过浏览器直接显示。

<form:inputText name="username" value="${user.username}" />

然而Thymeleaf标准方言将允许实现与上述代码相同的功能。

<input type="text" name="username" value="itxiaoming" th:value="$ {user.username}" />

浏览器不仅可以正确显示这些信息,而且还可以在浏览器中静态打开时显示一个默认的值 (在本例中为“itxiaoming”),在模板处理期间由$ {user.usemame丨的值代替value的默认值。这样 有助于设计师和开发人员处理相同的模板文件,并减少将静态原型转换为工作模板文件所需的工作量。具备这种能力的模板被称为自然模板。


  • 邮箱:ithelei@sina.cn
  • GoodLuck
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值