SpringBoot学习3

一、JSR303数据验证

使用@Validated进行数据验证,如果数据异常则会统一抛出异常,方便异常中心统一处理。

空检查

  • @Null 对象为null

  • @NotNull 对象不能为 null,但可以是 空字符串(无法检验长度为0的字符串)

  • @NotBlank 检查约束字符串是不是为null还有被Tirm的长度是否大于0,只对字符串,且会去掉前后的空格

  • @NotEmpty 检查约束字符串是不是为null或者是EMPTY

Boolean检查

  • @AssertTrue 验证Boolean对象是否为True
  • @AssertFalse 验证Boolean对象是否为false

长度检查

  • @Size(min=, max=) 验证对象(Array,Collection,Map,String)长度是否在给定的范围之内
  • @Length(min=, max=) 字符串长度在min和max范围之内

日期检查

  • @Past 验证 Date 和 Calendar 对象是否在当前时间之前,验证成立的话被注释的元素一定是一个过去的日期
  • @Future 验证 Date 和 Calendar 对象是否在当前时间之后 ,验证成立的话被注释的元素一定是一个将来的日期
  • @Pattern 验证String对象是否符合正则表达式的规则

 Hibernate Validator 附加的 constraint

SpringBoot学习3_第1张图片

 二、@Conditional派生注解

此图来源于SpringBoot:配置文件及自动配置原理 - 梁大白 - 博客园 (cnblogs.com)

SpringBoot学习3_第2张图片

 三、thymeleaf模板引擎

导入依赖


        
            org.thymeleaf.extras
            thymeleaf-extras-springsecurity5
        
        
            org.thymeleaf.extras
            thymeleaf-extras-java8time
        

结论:使用thymeleaf的时候,只需要导入对应的依赖即可,此时我们将html页面放在templates目录下。

html页面里面需要导入头文件:xmlns:th="http://www.thymeleaf.org"




    
    Title



四、thymeleaf语法

  • th:text:文本替换;
  • th:utext:支持html的文本替换。
  • th:value:属性赋值  
  • th:each:遍历循环元素
  • th:if:判断条件,类似的还有th:unless,th:switch,th:case
  • th:insert:代码块引入,类似的还有th:replace,th:include,常用于公共代码块提取的场景
  • th:fragment:定义代码块,方便被th:insert引用
  •  th:object:声明变量,一般和*{}一起配合使用,达到偷懒的效果。
  • th:attr:设置标签属性,多个属性可以用逗号分隔

你可能感兴趣的:(springboot,学习,spring,boot,spring)