美文网首页
SpringBoot常用注解二

SpringBoot常用注解二

作者: 浮名虚誉架构师 | 来源:发表于2018-04-20 18:56 被阅读0次

1. @value

使用 @Value("${property}") 从配置文件中读取比较简单的配置信息

2. @ConfigurationProperties

通过@ConfigurationProperties读取配置信息并与 bean 绑定

3. 一些常用的字段验证的注解

@NotEmpty 被注释的字符串的不能为 null 也不能为空

@NotBlank 被注释的字符串非 null,并且必须包含一个非空白字符

@Null 被注释的元素必须为 null

@NotNull 被注释的元素必须不为 null

@AssertTrue 被注释的元素必须为 true

@AssertFalse 被注释的元素必须为 false

@Pattern(regex=,flag=)被注释的元素必须符合指定的正则表达式

@Email 被注释的元素必须是 Email 格式。

@Min(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值

@Max(value)被注释的元素必须是一个数字,其值必须小于等于指定的最大值

@DecimalMin(value)被注释的元素必须是一个数字,其值必须大于等于指定的最小值

@DecimalMax(value) 被注释的元素必须是一个数字,其值必须小于等于指定的最大值

@Size(max=, min=)被注释的元素的大小必须在指定的范围内

@Digits (integer, fraction)被注释的元素必须是一个数字,其值必须在可接受的范围内

@Past被注释的元素必须是一个过去的日期

@Future 被注释的元素必须是一个将来的日期

4. 验证请求体(RequestBody)

我们在需要验证的参数上加上了@Valid注解,如果验证失败,它将抛出MethodArgumentNotValidException

5. 验证请求参数(Path Variables 和 Request Parameters)

一定一定不要忘记在类上加上 Validated 注解了,这个参数可以告诉 Spring 去校验方法参数。

6. 全局处理 Controller 层异常

相关注解:

@ControllerAdvice :注解定义全局异常处理类

@ExceptionHandler :注解声明异常处理方法

7. 创建表

@Entity声明一个类对应一个数据库实体。

@Table 设置表明

8. 创建主键

@Id :声明一个字段为主键。

使用@Id声明之后,我们还需要定义主键的生成策略。我们可以使用 @GeneratedValue 指定主键生成策略

一般使用 MySQL 数据库的话,使用GenerationType.IDENTITY策略比较普遍一点(分布式系统的话需要另外考虑使用分布式 ID)

9. 设置字段类型

@Column 声明字段

10. @Transient指定不持久化特定字段

声明不需要与数据库映射的字段,在保存的时候不需要保存进数据库

11. @Lob

声明某个字段为大字段

12. @Enumerated

创建枚举类型的字段

13.@Modifying删除/修改数据

该注解提示 JPA 该操作是修改操作,注意还要配合@Transactional注解使用

14.关联关系

@OneToOne 声明一对一关系

@OneToMany 声明一对多关系

@ManyToOne声明多对一关系

MangToMang声明多对多关系

15.事务 @Transactional

在要开启事务的方法上使用@Transactional注解即可

16. 过滤 json 数据

@JsonIgnoreProperties 作用在类上用于过滤掉特定字段不返回或者不解析

@JsonIgnore一般用于类的属性上,作用和上面的@JsonIgnoreProperties 一样

17. 格式化 json 数据

@JsonFormat一般用来格式化 json 数据

18. 测试相关

@ActiveProfiles一般作用于测试类上, 用于声明生效的 Spring 配置文件

@Test声明一个方法为测试方法

@Transactional被声明的测试方法的数据会回滚,避免污染测试数据

@WithMockUser Spring Security 提供的,用来模拟一个真实用户,并且可以赋予权限

相关文章

网友评论

      本文标题:SpringBoot常用注解二

      本文链接:https://www.haomeiwen.com/subject/bwpzkftx.html