Spring Boot 项目注解

Posted Java小周

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot 项目注解相关的知识,希望对你有一定的参考价值。

1、@RequiredArgsConstructor:自动注入

与Autowired功能相同,两者用法比较:

@Autowired

private BaseInfoCompanyFareDao baseInfoCompanyFareDao;
@RequiredArgsConstructor
public class BaseInfoCompanyServiceImpl implements BaseInfoCompanyService {

    final BaseInfoCompanyDao baseInfoCompanyDao;
    final BaseInfoCompanyServiceDao baseInfoCompanyServiceDao;
}

2、@PreAuthorize:权限验证

3、@ApiOperation:接口文档注解

4、@JsonInclude

问题:返回前端的实体类中如果某个字段为空的话那么就不返回这个字段

参数有:

NON_NULL:常用,即如果加该注解的字段为null,那么就不序列化这个字段

NON_EMPTY:包含NON_NULL,如果字段为空也不序列化

@JsonInclude(JsonInclude.Include.NON_EMPTY)
private List<DeptDto> children;

5、@CacheConfig

        @CacheConfig是一个类级别的注解,允许共享缓存的名称、KeyGenerator、CacheManager 和CacheResolver。 该操作会被覆盖。

6、@Cacheable

        @Cacheable是用来声明方法是可缓存的。将结果存储到缓存中以便后续使用相同参数调用时不需执行实际的方法。直接从缓存中取值。最简单的格式需要制定缓存名称。

7、@Transactional

        @Transactional (rollbackFor=Exception.class),如果类加了这个注解,那么这个类里面的方法抛出异常,就会回滚,数据库里面的数据也会回滚

8、@NotNull

验证一下是否为空的。

9、@Column

        就像@Table注解用来标识实体类与数据表的对应关系类似,@Column注解来标识实体类中属性与数据表中字段的对应关系

        name属性定义了被标注字段在数据库表中所对应字段的名称

10、@JSONField(serialize = false)

        标识该字段不进行序列化

以上是关于Spring Boot 项目注解的主要内容,如果未能解决你的问题,请参考以下文章

Spring Boot注解说明

Spring Boot 项目注解

Spring Boot 项目注解

Spring Boot 项目注解

Spring boot实现定时任务二:使用注解@scheduled和@EnableScheduling

不能在spring boot,gradle项目中使用@Entity注解