SpringBoot注解汇总

前言

在项目中使用到了一些注解,在此进行一个总结

注解

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数据库自增
    NONEMP set主键,雪花算法实现
    INPUT需要手动赋值
    ASSIGN_IDMP分配ID,Long、Integer、String
    ASSIGN_UUID分配UUID,String

    @TableId专门用在主键上,当与数据库中主键名称不同或不是驼峰命名方式,则在注解的value属性中标明主键名称。同时可以声明主键的生成策略

Service

  • @Service
    

    在Service层类上标注@Service,声明这是一个服务类,可以自动注册到Spring容器中,不需要在xml中定义bean。

  • @SpringBootApplication
    

    @SpringBootApplication是Sprnig Boot项目的核心注解,目的是开启自动配置,在启动类上标注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值