1.校验前端传参@null
添加依赖
<dependency>
<groupId>org.hibernate.validator</groupId>
<artifactId>hibernate-validator</artifactId>
</dependency>
导包
import jakarta.persistence.Entity;
import jakarta.persistence.GeneratedValue;
import jakarta.persistence.Id;
import jakarta.validation.constraints.NotBlank;
import org.hibernate.validator.constraints.Length;
@Entity
class Employee {
private @Id @GeneratedValue Long id;
@NotBlank(message = "姓名为空")
@Length(message = "姓名不能超过{max}个字符", max = 20)
private String name;
...
注解规则
@Null 验证对象是否为null
@NotNull 验证对象是否不为null, 无法查检长度为0的字符串
@NotBlank 检查约束字符串是不是Null还有被Trim的长度是否大于0,只对字符串,且会去掉前后空格.
@NotEmpty 检查约束元素是否为NULL或者是EMPTY.
Booelan检查
@AssertTrue 验证 Boolean 对象是否为 true
@AssertFalse 验证 Boolean 对象是否为 false
长度检查
@Size(min=, max=) 验证对象(Array,Collection,Map,String)长度是否在给定的范围之内
@Length(min=, max=) 验证带注释的字符串长度是否在在最小值和最大值之间。
数值检查
建议使用在Stirng,Integer类型,不建议使用在int类型上,因为表单值为“”时无法转换为int,但可以转换为Stirng为"",Integer为null
@Min 验证 Number 和 String 对象是否大等于指定的值
@Max 验证 Number 和 String 对象是否小等于指定的值
@Digits 验证 Number 和 String 的构成是否合法
@Digits(integer=,fraction=) 验证字符串是否是符合指定格式的数字,interger指定整数精度,fraction指定小数精度。
@Range(min=, max=) 检查注释值是否介于(包括)指定的最小值和最大值之间.
2.@Mock
模拟测试
是 Mockito(一种用于编写单元测试的Java框架)提供的注解之一。它用于创建一个模拟对象(Mock)以替代真实对象,从而在测试中模拟对象的行为。Mockito 通过 @Mock
注解帮助我们创建模拟对象,使得在测试过程中可以更容易地隔离和控制依赖关系。
3.@Autowired
自动注入
@Autowired
是 Spring 框架中用于自动装配(自动注入)依赖关系的注解。通过 @Autowired
,Spring 容器会自动在运行时查找匹配类型的 Bean,并将其注入到标注了 @Autowired
的字段、构造方法、或者 setter 方法中。
需要注意的是,@Autowired
注解可以用于字段、构造方法、以及 setter 方法上。通常推荐使用构造方法注入,因为这样可以确保对象的完整性,并且在进行单元测试时更容易进行模拟注入。
4.@Component 成为Bean
@Component
是 Spring 框架中用于声明一个类为 Spring 容器管理的组件的注解。通过 @Component
注解,Spring 容器会自动检测并注册被注解的类,使其成为 Spring 应用上下文中的一个 Bean。
在这个例子中,MyComponent
类被标注为 @Component
,这意味着它将被 Spring 容器自动扫描并注册为一个 Bean。可以通过在其他类中使用 @Autowired
注解或者在 XML 配置文件中进行配置来引用并使用这个 Bean。
总之,@Component
是 Spring 框架中用于声明一个类为 Spring 容器管理的组件的基本注解。在很多情况下,它作为其他更具体的注解(如 @Service
、@Repository
、@Controller
等)的通用基础
5.@RequiredArgsConstructor 自动构造
@RequiredArgsConstructor
是 Lombok(一种Java库)提供的一种注解,它用于自动生成构造函数,该构造函数包含所有被 final
修饰的成员变量作为参数,并确保这些成员变量在创建对象时被正确初始化。这个注解可以减少代码的编写量,特别是在使用不可变对象时非常有用。
需要注意的是,如果你的类中有非 final
的成员变量,它们将不会被包含在生成的构造函数中。在上面的例子中,address
不是 final
,因此不会被包含在构造函数中。
要使用 Lombok,确保在项目中添加了 Lombok 依赖,并且在 IDE 中启用了 Lombok 插件,以便支持注解生成的代码