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 提供的,用来模拟一个真实用户,并且可以赋予权限
网友评论