zoukankan      html  css  js  c++  java
  • SpringInAction第二章笔记

    对应练习于 https://github.com/AganRun/SpringInAction

    第二章 开发web应用

    2.1 展现信息

    Spring提供了多种定义视图的方式,包括JavaServer Pages(JSP)、Thymeleaf、FreeMarker、Mustache和基于Groovy的模板。

    使用Thymeleaf

    1. 添加Starter启动器。
    2. 在运行时,SpringBoot的自动配置发现Thymeleaf在类路径中,因此会为SpringMVC创建支持Thymeleaf视图的bean。

    Thymeleaf模板就是增加了一些额外元素属性的HTML。例如"th:each"会迭代一个元素集合。

    2.3 校验表单输入

    有种校验是在方法中添加大量乱七八糟的if/then代码块,但是这样会难以阅读和调试。

    Spring支持JAVA的Bean校验API。在SpringBoot项目中,Validation API以及Validation API的Hibernate实现将会作
    为SpringBoot web starter的传递性依赖自动添加到项目中。

    使用步骤

    1. 在要被校验的类上声明校验规则
    2. 在控制器方法中声明进行校验
    3. 修改表单视图以展示校验错误

    复杂的自定义逻辑可以使用正则表达式

    @Pattern(regexp = "^(0[1-9]|1[0-2])([\/])([1-9][0-9])$", message = "Must be formatted MM/YY")
    

    2.4 视图控制器

    定义Controller除了可以通过新建类,添加@controller注解,还可以通过类实现WebMvcConfigure接口实现。

    @Configuration
    public class WebConfig implements WebMvcConfigurer {
        @Override
        public void addViewControllers(ViewControllerRegistry registry) {
            registry.addViewController("/").setViewName("home");
        }
    }
    

    Thymeleaf作为渲染模板,默认只有第一次使用的时候解析一次,解析的结果会被后续的请求使用。
    这样可以提升性能,对于开发环境,可以通过Spring.thymeleaf.cache=false禁用。

    第二章小结

    • SpringMVC是基于注解的,通过@RequestMapping之类的注解启用请求处理方法的声明。
    • SpringMVC支持校验,通过Java Bean Validation API 和 Validation API的实现完成
    • Spring支持多种视图方案
  • 相关阅读:
    QuantLib 金融计算——基本组件之 Date 类
    挑选合适的机器学习资料
    【翻译】理解 LSTM 及其图示
    《信任的速度》读后感
    Git分支使用心得
    c# 多线程 创建对象实例
    c# 设计模式之单例模式
    C# 设计模式之空对象模式
    c# 静态构造函数与构造函数的调用先后
    C# 中关于接口实现、显示实现接口以及继承
  • 原文地址:https://www.cnblogs.com/AganRun/p/13125947.html
Copyright © 2011-2022 走看看