最近公司来了个大牛,大概的教了一下一些spring和spring boot相关的注解,我这边整理了一下
<!--需要maven引用lombok-->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>XXX</version><!--springboot的话就不需要-->
</dependency>
- @Slf4j 日志记录 依赖lombok
- @EqualsAndHashCode 依赖lombok
生成equals(Object other)和hashCode()
- @Data 依赖lombok
java bean 的get set ,什么叫java bean?对不起,请百度
- @AllArgsConstructor 依赖lombok
省略@Autowired
- @UtilityClass 依赖lombok
@UtilityClass
1.将类标注为final类
2.如果类声明了 constructors(构造方法)就抛出 UnsupportedOperationException 异常 3.所有的方法,内部类,字段都被修饰成 静态 static
- @Accessors 依赖lombok
@Data
- @JsonInclude springboot自带了依赖包
JsonJsonInclude.Include.ALWAYS 这个是默认策略,任何情况下都序列化该字段,和不写这个注解是一样的效果。
JsonJsonInclude.Include.NON_NULL这个最常用,即如果加该注解的字段为null,那么就不序列化这个字段了。 JsonJsonInclude.Include.NON_EMPTY这个属性包含NON_NULL,NON_ABSENT之后还包含如果字段为空也不序列化。 JsonJsonInclude.Include.NON_DEFAULT 如果字段是默认值的话就不序列化
@Data
- @SneakyThrows 异常抛出 依赖lombok
在处理一些业务时使用起来并不灵活。但是在一些情况下你可以使用,比如在一些不太可能发生异常的地方,但是你又必须cache checked exception的地方使用这个@SneakyThrows annotation会显得代码比较规整,易读。