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 请求头信息到方法参数上.

相关推荐
金銀銅鐵7 分钟前
[Java] 用 GUI 展示 ArrayList 扩容的过程
java·后端·ai编程
磊 子9 分钟前
什么是虚假唤醒(spurious wakeup)?从 POSIX 标准讲到 futex 内核
java·开发语言
飘然生20 分钟前
traceId链路 skywalking java agent
java·开发语言·skywalking
IT研究室26 分钟前
最新计算机毕业设计选题推荐-基于spring boot的母婴全程服务管理系统-网站-文档指导-Java-springboot
java·spring boot·课程设计
CRMEB35 分钟前
商品 SKU 设计,从简单规格到多规格踩过什么
java·前端·数据库·开源
霸道流氓气质36 分钟前
基于 Spring @Profile 的 MQ 消费者按需开关设计
java·后端·spring
silvamux_1 小时前
4款新模型商务邮件翻译横评:0.98到0.46
android·java·javascript
Dovis(誓平步青云)1 小时前
车辆进入隧道后信号断开,座舱旅程怎样补回事件
java·开发语言·前端·数据库·电脑
砚底藏山河1 小时前
数据新鲜度 SLA 监控
java·大数据·python·maven
杨杨杨大侠10 小时前
都能接模型、RAG 和 MCP,Java Agent 框架到底差在哪?
java