SpringMVC 中的常用注解和用法

@Component:通用的组件注解,标识一个类为 Spring 组件,会被自动扫描并创建 Bean。(工具类)
@Repository:表示持久层的注解,用于标识数据访问组件。(和数据交互)
@Service:表示服务层的注解,用于标识业务逻辑组件。(客服中心)
@Controller:表示控制器层的注解,用于标识 Web 控制器组件。验证用户请求数据的正确性(安保系统)
@Configuration:表示配置类的注解,用于定义配置类,替代 XML 配置文件。

@RequestMapping

是SpringWebMVC应⽤程序中最常被⽤到的注解之⼀,它是⽤来注册接⼝的路由映射的.

含义:映射HTTP请求的URL到一个具体的处理方法。

可以用于类级别和方法级别。类级别的注解可以定义通用的请求映射前缀。

路由映射:当⽤⼾访问⼀个URL时,将⽤⼾的请求对应到程序中某个类的某个⽅法的过程就叫路由映射.

java 复制代码
@Controller  
@RequestMapping("/example")  
public class MyController {  
    @RequestMapping("/hello")  
    public String hello() {  
        return "hello";  
    }  
}

@GetMapping、@PostMapping(@RequestMapping(value="/xxx",method="RequestMethod.POST) 、@PutMapping、@DeleteMapping:分别用于处理 GET、POST、PUT、DELETE 请求,简化 @RequestMapping 的使用。

@RequestParam

  • 含义:用于从请求中获取参数值,映射到方法的参数上。

  • 用法:在方法参数前使用,可以指定参数名、是否必需等属性。

1.使⽤ @RequestParam 进⾏参数重命名时,请求参数只能和 @RequestParam 声明的名称⼀致,才能进⾏参数绑定和赋值.

  1. 使⽤ @RequestParam 进⾏参数重命名时,参数就变成了必传参数.

@ResponseBody

  • 含义:指示方法返回的对象应该直接写入HTTP响应体中,而不是视图渲染。

  • 用法:通常用于返回JSON或XML格式的数据。

    java 复制代码
    @RequestMapping("/data")  
    @ResponseBody  
    public Map<String, Object> getData() {  
        Map<String, Object> data = new HashMap<>();  
        data.put("key", "value");  
        return data;  
    }

@PathVariable

主要作⽤在请求URL路径上的数据绑定

  • 含义:用于将请求URL中的占位符参数绑定到处理器方法中的参数上。

@RequestPart

上传⽂件

java 复制代码
@RequestMapping("/m9")
public String getfile(@RequestPart("file") MultipartFile file) throws IOException {
    //获取⽂件名称
    String fileName = file.getOriginalFilename();
    //⽂件上传到指定路径
    file.transferTo(new File("D:/temp/" + file.getOriginalFilename()));
    return "接收到⽂件名称为: "+fileName;
}

@SessionAttribute

  • 含义:用于将模型中的属性存储到会话中,以便多个请求之间共享相同的模型属性。

  • 用法:只能用于类上,无法用于方法上。可以指定要存储的属性名称或类型。

@RequestHeader

提供了一种方便的方式来获取并绑定 HTTP 请求头信息到方法参数上.

相关推荐
人活一口气15 小时前
Spring Boot与AIGC的完美结合:从零搭建智能内容生成平台
java·spring boot·aigc
像我这样帅的人丶你还17 小时前
Java 后端详解(三):全局异常处理与 JPA 数据库映射
java·后端
NE_STOP17 小时前
vibe Coding -- 小项目实战
java
未秃头的程序猿1 天前
Java 26正式发布!这3个新特性,让代码量直接减半
java·后端·面试
用户298698530141 天前
Word 文档文本查找与替换的 Java 实现方案
java·后端
阿哉1 天前
Nacos 服务发现源码:藏在背后的两套事件机制,90%的人只讲了一半
java
咖啡八杯1 天前
GoF设计模式——命令模式
java·设计模式·架构
AI人工智能_电脑小能手1 天前
【大白话说Java面试题 第125题】【并发篇】第25题:说说 Java 线程的中断机制
java·后端·面试
Java内核笔记1 天前
Spring Security 源码解析(六)无状态 JWT 实践:Session 共享与自定义过滤器
java·后端
荣码1 天前
LangGraph多Agent协作:3个Agent干活比1个强,但我踩了4个坑
java·python