前言
在项目中使用到了一些注解,在此进行一个总结
注解
controller
-
@RestController
当需要方法返回的是json格式数据,可以直接在类上标注@RestController,不再需要每个方法都标注@ResponseBody.
换句话说,相当于@Controller和@ResponseBody的结合,返回json数据不需要再在方法前标注@ResponseBody
-
@Controller
在一个类上添加@Controller注解,表明了这个类是一个控制器类。
-
@ResponseBody
@ResponseBody表示方法的返回值直接以指定的格式写入Http response body中,而不是解析为跳转路径。
-
@RequestMapping("")
RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。用于方法上则是对方法进行注解以产生访问的路径。
-
@ApiModelProperty
是swagger的注解,作用是对方法或属性进行说明
属性:
value;此属性的简要描述。
name:作用为允许重写属性的名称。
allowableValues():作用为限制此参数存储的长度。
access():作用为允许从API文档中过滤属性
notes():作用为该字段的注释说明
dataType():作用为参数的数据类型。
required():作用为指定参数是否可以为空,默认为false
position():作用为允许显式地对模型中的属性排序。
hidden():作用为是否允许模型属性隐藏在Swagger模型定义中,默认为false。
example():作用为属性的示例值。
readOnly();作用为是否允许将属性指定为只读,默认为false。
reference():作用为指定对对应类型定义的引用,重写指定的任何其他数据名称。
allowEmptyValue():作用为是否允许传递空值,默认为false -
@JsonFormat
是一个时间格式化注解,为了将数据库中的date类型转化为yyyy-MM-dd HH:mm:ss的可视化格式
-
@PostMapping和@GetMapping
分别用于将HTTP POST和HTTP GET请求映射到特定处理程序方法的注释,相当于@RequestMapping(value = “/get/{value}”,method = RequestMethod.POST)和@RequestMapping(value = “/get/{value}”,method = RequestMethod.GET)
类似的还有
@PutMapping :映射到是执行大规模的替换操作
@DeleteMapping :映射到删除方法
@PatchMapping:目的是对资源数据打补丁或局部更新
-
@PreAuthorize
权限检验注解,用来控制一个方法或类是否能够被调用的
-
@ApiImplicitParams
@ApiImplicitParams:用在请求的方法上,表示一组参数说明
-
@ApiImplicitParam
用在@ApiImplicitParams注解中,指定一个请求参数的各个方面
name:参数名
value:参数的汉字说明、解释
required:参数是否必须传
paramType:参数放在哪个地方
· header --> 请求参数的获取:@RequestHeader
· query --> 请求参数的获取:@RequestParam
· path(用于restful接口)–> 请求参数的获取:@PathVariable
· body(不常用)
· form(不常用)
dataType:参数类型,默认String,其它值
defaultValue:参数的默认值
domain
-
@Data
用于方法类的注解,简化变量的get和set方法的书写,相当于可以直接调用get和set方法
-
@Builder
@Builder 注释为你的类生成相对略微复杂的构建器API
-
@TableName
@TableName注解主要是实现实体类型和数据库中的表实现映射
-
@TableField
通过@TableField注解可以指定字段的一些属性,常常解决的问题有两个:
1.对象中的属性名和表中的字段名不一致(非驼峰)
2.对象中的属性字段在表中不存在属性:
- value:字段值
- update:预处理set字段自定义注入
- condition:预处理where实体条件自定义运算规则
- exist:是否为数据库表字段
- strategy 字段验证
- fill 字段填充
-
@TableId
值 描述 AUTO 数据库自增 NONE MP set主键,雪花算法实现 INPUT 需要手动赋值 ASSIGN_ID MP分配ID,Long、Integer、String ASSIGN_UUID 分配UUID,String @TableId专门用在主键上,当与数据库中主键名称不同或不是驼峰命名方式,则在注解的value属性中标明主键名称。同时可以声明主键的生成策略
Service
-
@Service
在Service层类上标注@Service,声明这是一个服务类,可以自动注册到Spring容器中,不需要在xml中定义bean。
-
@SpringBootApplication
@SpringBootApplication是Sprnig Boot项目的核心注解,目的是开启自动配置,在启动类上标注