1. @JsonInclude
作用是jackson实体转json;
@JsonInclude(Include.NON_NULL):为NULL的字段不参加序列化
2. @Validated
spring-boot中可以用@Validated来校验数据,如果数据异常则会统一抛出异常,方便异常中心统一处理。
3. @Data
使用这个注解,就不用再去手写Getter,Setter,equals,canEqual,hasCode,toString等方法了,注解后在编译时会自动加进去。
@AllArgsConstructor
使用后添加一个构造函数,该构造函数含有所有已声明字段属性参数
@NoArgsConstructor
使用后创建一个无参构造函数
4. @ApiModel
在实体类上边使用,标记类是swagger的解析类。
@ApiModelProperty
使用在被 @ApiModel 注解的模型类的属性上。表示对model属性的说明或者数据操作更改。
@Api
协议集描述,用于controller类上
@ApiResponses
Response集,用在controller的方法上
@ApiResponse
Response,用在@ApiResponses里边
5. @JsonProperty
用于属性上,作用是把该属性的名称序列化为另外一个名称;
6. @Repository
用于声明一个 Bean;
@Mapper
Mybatis的注解,和Spring没有关系;
7. @PostMapping
@GetMapping用于处理请求方法的GET类型,@ PostMapping用于处理请求方法的POST类型,用于替代@RequestMapping
eg: @RequestMapping(value = "/get/{id}", method = RequestMethod.GET)
可以简化为:@GetMapping("/get/{id}")
8. @RestController
Spring中@RestController的作用等同于@Controller + @ResponseBody。
在一个类上添加@Controller注解,表明这个类是一个控制器类。
@ResponseBody表示方法的返回值直接以指定的格式写入Http response body中,而不是解析为跳转路径。
9. @Nullable
如果可以传入NULL值,则标记为@Nullable,如果不可以,则标注为@Notnull;
10. @Deprecated
表示此方法已废弃、暂时可用,但以后此类或方法都不会再更新、后期可能会删除,建议后来人不要调用此方法。
11. @Slf4j
用于记录日志, 相当于private final Logger logger = LoggerFactory.getLogger(Test.class);
需要先在IDEA中安装插件Lombok,否则会报错,同时在pom.xml中引入。
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
12. @Value
@Value("${base.url}") 从配置properties文件中读取配置参数的值。
13. @SpringBootApplication
作用等价于同时组合使用@EnableAutoConfiguration,@ComponentScan,@SpringBootConfiguration.
14. @RestControllerAdvice
用于定义@ExceptionHandler、@InitBinder、@ModelAttribute,并应用到所有@RequestMapping中。
15. @Qualifier
@Autowired默认按照类型匹配注入bean,如果有多个实现类,搭配@Qualifier("实现类")表明注入的是哪一个实现类的bean.