当前位置: 首页 > article >正文

SpringMVC 中的常用注解和用法

SpringMVC是一个基于Java的Web框架,它提供了丰富的注解来简化开发。以下是一些SpringMVC中常用的注解及其用法:

一、控制器层(Controller)注解

  1. @Controller

    • 含义:标识一个类为Spring MVC控制器。
    • 用法:通常用于类级别,表示该类是一个控制器,负责处理HTTP请求。
  2. @RestController

    • 含义:标识一个类是RESTful Web服务的控制器,其本身不会做视图解析,而是直接将对象写入到HTTP响应正文中。
    • 用法:通常用于类级别,是@Controller和@ResponseBody的结合体,简化了RESTful服务的开发。
  3. @RequestMapping

    • 含义:映射HTTP请求的URL到一个具体的处理方法。可以处理GET、POST、PUT、DELETE等多种请求方法。
    • 用法:可以用于类级别和方法级别。类级别的注解可以定义通用的请求映射前缀,方法级别的注解则定义具体的请求路径和请求方法类型。
  4. @GetMapping、@PostMapping、@PutMapping、@DeleteMapping

    • 含义:分别用于处理GET、POST、PUT、DELETE请求,是@RequestMapping的简化形式。
    • 用法:通常用于方法级别,直接指定请求路径和请求方法类型。
  5. @PatchMapping

    • 含义:用于映射PATCH请求到控制器方法。
    • 用法:用于方法级别,可以处理部分更新操作。

二、请求参数注解

  1. @RequestParam

    • 含义:用于提取请求中的参数值,并将其绑定到方法的参数上。
    • 用法:在方法参数前使用,可以指定参数名、是否必需等属性。如果请求参数名与@RequestParam声明的名称不一致,则无法进行参数绑定和赋值。
  2. @PathVariable

    • 含义:用于将URI模板变量映射到处理方法的参数上。
    • 用法:在方法参数前使用,与URI中的占位符对应。
  3. @RequestBody

    • 含义:用于将HTTP请求体中的JSON或XML数据绑定到方法的参数上,通常用于处理非表单数据。
    • 用法:在方法参数前使用,通常与@PostMapping或@PutMapping等注解结合使用。
  4. @RequestPart

    • 含义:用于处理文件上传,将请求中的文件部分绑定到MultipartFile类型的参数上。
    • 用法:在方法参数前使用,通常与@PostMapping注解结合使用。
  5. @CookieValue

    • 含义:用于获取HTTP请求中的Cookie值,并将其绑定到方法的参数上。
    • 用法:在方法参数前使用,可以指定Cookie的名称。
  6. @SessionAttribute

    • 含义:用于将模型中的属性存储到会话中,以便多个请求之间共享相同的模型属性。
    • 用法:只能用于类上,无法用于方法上。可以指定要存储的属性名称或类型。
  7. @RequestHeader

    • 含义:提供了一种方便的方式来获取并绑定HTTP请求头信息到方法参数上。
    • 用法:在方法参数前使用,可以指定请求头的名称。

三、服务层(Service)和数据访问层(Repository)注解

  1. @Service

    • 含义:标识一个类为服务层的组件。
    • 用法:通常用于类级别,表示该类包含业务逻辑,负责处理业务规则和调用数据访问层执行数据库操作。
  2. @Repository

    • 含义:表示持久层的注解,用于标识数据访问组件。
    • 用法:通常用于类级别,表示该类负责数据访问和数据库操作。

四、其他常用注解

  1. @Autowired

    • 含义:用于实现依赖注入,自动装配Spring容器中的bean。
    • 用法:可以用于字段、方法或构造函数上。
  2. @ComponentScan

    • 含义:用于指定Spring在初始化时需要扫描的包路径,以便找到带有@Component、@Service、@Repository等注解的类,并将其注册为Spring容器中的bean。
    • 用法:通常用于配置类上。
  3. @Component

    • 含义:通用的组件注解,标识一个类为Spring组件,会被自动扫描并创建Bean。
    • 用法:通常用于类级别。
  4. @ResponseBody

    • 含义:指示方法返回的对象应该直接写入HTTP响应体中,而不是视图渲染。
    • 用法:通常用于方法级别,与@RequestMapping等注解结合使用。

这些注解极大地简化了SpringMVC的开发,使得开发者能够更加专注于业务逻辑的实现。同时,SpringMVC还支持自定义注解和组合注解,进一步提高了开发的灵活性和可维护性。


http://www.kler.cn/news/361117.html

相关文章:

  • 探索Web3生态系统:社区、协议与参与者的角色
  • 详解ip route
  • SpringBoot民宿预订系统:打造在线住宿新体验
  • 软件设计模式------简单工厂模式
  • vue 页面导出gif图片 img 导出gif 超简单~
  • Linux 进程终止和进程等待
  • 基于Java+springboot的流浪天使乐园管理系统
  • mlir learn
  • python的特殊方法
  • <a-table>行数据增加点击事件并获取点击行的数据+自定义button按事件
  • 比亚迪与《黑神话:悟空》的游戏全球战略合作。
  • 代码随想录算法训练营第十天|1. 两数之和,第454题.四数相加II
  • vue 报告标题时间来自 elementUI的 el-date-picker 有开始时间和结束时间
  • 【Vue】Vue3.0(十)toRefs()和toRef()的区别及使用示例
  • 【C++刷题】力扣-#243-最短单词距离
  • 期权懂|想交易科创板ETF期权需要开户账号吗?
  • 【C++ 算法进阶】算法提升三
  • Zookeeper面试整理-Zookeeper的基础概念
  • AWK不再难:案例驱动学习,让你成为数据处理高手!
  • Mamba学习笔记(3)—S4原理基础