我的框架开发记录--2022.4.10

序言

今天没写什么东西。

挺迷茫的,确实应该设计设计才开始写代码。看画个原型图什么的。

决定:前后端同步编码。现在就是设计一下系统。

前端vue正在学习中,今天也看了10p。

所以编码的工作应该得放到前端学得差不多得时候了。

在这期间,我会想想系统还需要哪些基本得插件、功能,比如导出excel啊这些。想到了就加进来。然后会学习一下,业务代码生成这一块(主要是前端的代码吧,后端有plus了)。

今天就搞了一下数据校验,然后晚上给系统搞了个banner图

XpStart–2022-4-10

数据校验

springboot给我们提供了数据校验的功能,但是其不能实现嵌套对象的验证,因为@Validated不能作用于类属性上,所以需要引入@Valid的依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-validation</artifactId>
</dependency>

那么@Validated和@Valid有什么区别呢?

@Validated:可以作用于类、方法、方法参数上,并且提供了分组1功能

@Valid:可以作用于方法、方法参数、类属性上

常用校验注解(参考:校验注解

注解 说明
@Null 带注释的元素必须为null 。 接受任何类型。
@NotNull 带注释的元素不能为null 。 接受任何类型。
@AssertFalse 带注释的元素必须为false。 支持的类型是boolean和Boolean 。
null元素被视为有效。
@AssertTrue 带注释的元素必须为true。 支持的类型是boolean和Boolean 。
null元素被视为有效。
@DecimalMax 带注释的元素必须是一个数字,其值必须小于或等于指定的最大值。
支持的类型为:
BigDecimal
BigInteger
CharSequence
byte , short , int , long及其各自的包装器
请注意,由于舍入错误,不支持double和float (某些提供程序可能提供一些近似支持)。
null元素被视为有效。
@DecimalMin 带注释的元素必须是一个数字,其值必须大于或等于指定的最小值。
支持的类型为:
BigDecimal
BigInteger
CharSequence
byte , short , int , long及其各自的包装器
请注意,由于舍入错误,不支持double和float (某些提供程序可能提供一些近似支持)。
null元素被视为有效。
@Digits 带注释的元素必须是可接受范围内的数字。
支持的类型为:
BigDecimal
BigInteger
CharSequence
byte , short , int , long及其各自的包装器类型
null元素被视为有效。
@Email 该字符串必须是格式正确的电子邮件地址。 组成有效电子邮件地址的确切语义留给Jakarta Bean验证提供程序。 接受CharSequence 。
null元素被视为有效。
@Future 带注释的元素必须是将来的瞬间,日期或时间。null元素被视为有效。
@FutureOrPresent 带注释的元素必须是当前或将来的瞬间,日期或时间。null元素被视为有效。
@NotEmpty 带注释的元素不能为null或为空。
支持的类型为:
CharSequence (评估字符串的长度)
Collection (评估集合大小)
Map (评估Map大小)
数组(评估数组长度)
@NotBlank 带注释的元素不能为null并且必须至少包含一个非空白字符。 针对字符串
@Max 带注释的元素必须是一个数字,其值必须小于或等于指定的最大值。
支持的类型为:
BigDecimal
BigInteger
byte , short , int , long及其各自的包装器
请注意,由于舍入错误,不支持double和float (某些提供程序可能提供一些近似支持)。
null元素被视为有效。
@Min 带注释的元素必须是一个数字,其值必须大于或等于指定的最小值。
支持的类型为:
BigDecimal
BigInteger
byte , short , int , long及其各自的包装器
请注意,由于舍入错误,不支持double和float (某些提供程序可能提供一些近似支持)。
null元素被视为有效。

Banner图

这是banner.txt的内容,给字体设置了一个颜色

${AnsiColor.BLUE}指定banner字体颜色;

${AnsiBackground.BRIGHT_GREEN}指定banner背景色,

这里有一个在线制作Banner网站制作banner

${AnsiColor.BLUE}
__   __      _____ _             _
\ \ / /     /  ___| |           | |
 \ V / _ __ \ `--.| |_ __ _ _ __| |_
 /   \| '_ \ `--. \ __/ _` | '__| __|
/ /^\ \ |_) /\__/ / || (_| | |  | |_
\/   \/ .__/\____/ \__\__,_|_|   \__|
      | |
      |_|

启动类:

public class XpStartApplication {
    
    
    public static void main(String[] args) {
    
    

        SpringApplication.run(XpStartApplication.class, args);

        // [后:31红色,32绿色,33黄色,34蓝色,35紫色
        System.out.format("\33[35;4m---------------------启动成功---------------------");
    }
}

效果:

image-20220410213108463

image-20220410213132898


  1. 所谓分组,就是一个类的校验规则在不同的接口下,可能会不同。这个时候就可以对其“特殊字段”进行分组,其使用也很简单,可参考@Validated分组 ↩︎

猜你喜欢

转载自blog.csdn.net/qq_42682745/article/details/124086544