项目中的注解及其作用

导读:本篇文章讲解 项目中的注解及其作用,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

1、@RestController

@RestController 是@controller和@ResponseBody 的结合

项目中的注解及其作用

 

2、@ResponseBody

@ResponseBody 它的作用简短的说就是指该类中所有的API接口返回的数据,甭管你对应的方法返回Map或是其他Object,它会以Json字符串的形式返回给客户端 

项目中的注解及其作用

 

3、@Controller

@Controller 将当前修饰的类注入SpringBoot IOC容器,使得从该类所在的项目跑起来的过程中,这个类就被实例化。 

 

4、 @NoRepeatSubmit

这个是redis中自己定义的一个 防止重复提交标记的注解

项目中的注解及其作用

项目中的注解及其作用

 5、@ApiImplicitParams

swagger中的@ApiImplicitParams作用在方法上,用于设置单个请求参数

@ApiImplicitParams 作用在方法上,用于包含多个 @ApiImplicitParam

各个参数说明

  • name:参数名

  • value:参数解释

  • required:参数是否必须

  • dataType:参数类型

  • paramType:参数放在哪个地方,有以下取值

    • header:请求头
    • query:?param=value的形式
    • path:路径,Restful风格接口
    • body:请求体
    • form:以form表单的形式提交

项目中的注解及其作用

 

6、@ApiVersion

@ApiVersion自定义的一个注解,是版本号

项目中的注解及其作用

 项目中的注解及其作用

 

@Target({ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiVersion {
    /**
     * @return 版本号
     */
    int value() default 1;
}

 7、@RequestMapping

Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.xml中配置的映射作用一致。

  • @RequestMapping 注解在 Controller 类上,这时类的注解是相对于 Web 根目录,而方法上的是相对于类上的路径
  • @RequestMapping 中可以使用 params 来限制请求参数
  • @RequestMapping 中的 method 主要用来定义接收浏览器发来的何种请求

8、@Log

 自定义操作日志记录注解

@Target({ ElementType.PARAMETER, ElementType.METHOD })
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface Log
{
    public String value() default "";
    /**
     * 功能
     */
    public BusinessType businessType() default BusinessType.OTHER;
}

9、 @PreAuthorize

@PreAuthorize("hasAuthority('/examinee')")

@PreAuthorize 注解,顾名思义是进入方法前的权限验证,@PreAuthorize 声明这个方法所需要的权限表达式

10、@Autowired

@Autowired

默认通过类型注入,如存在多个类型则通过名称注入 小写首字母作为名称

@Resource

默认通过名称注入,如名称无法找到,则通过类型注入

 项目中的注解及其作用

 

11、@TableId

@TableId

主键注解的意思

@TableId(type=IdType.AUTO) 根据当前表中id最大值自增+1

@TableName

数据库表名注解

 项目中的注解及其作用

 

12、@JsonFormat

@JsonFormat

       储存在mysql的时间是date类型的,当我们读出来封装在实体类中的时候,读出来的是英文时间格式,我们需要用JsonFormat注解来格式化我们的时间

注:要注意的是,它只会在声明返回类型为json时,比如使用@ResponseBody返回json数据的时候,才会返回格式化的yyyy-MM-dd HH:mm:ss时间,如果直接使用System.out.println()输出的话,仍然是类似“Fri Dec 01 21:05:20 CST 2017”这样的时间样式。

项目中的注解及其作用

 

 13、@TableField(exist=false)

@TableField(exist=false)

注解加在bean属性上,表示当前属性不是数据库的字段,但在项目中必须使用。

项目中的注解及其作用

 

14、@TableField(fill = FieldFill.INSERT_UPDATE)

插入和更新填充字段

项目中的注解及其作用

 

15、 @Param

@Param

mapper中在参数前加

@Param("roomId") Long roomId

意味着映射到xml中的 #{roomId}

项目中的注解及其作用

 

16、 @PathVariable

@PathVariable

URL占位符注解,将url中占位符参数绑定到入参

项目中的注解及其作用

@RequestParam

前端访问的时候是

key=value形式,如?id=1&name=zhaohong

可以通过配置设置是否必须填写,默认不是必须的

17、 @Excel

自定义的Excel注解,方便导出的时候,展示出来

项目中的注解及其作用

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/115356.html

(0)
Java光头强的头像Java光头强

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!