SpringMVC注解全解析:构建高效Web应用的终极指南 (上)

SpringMVC 是一个强大的 Web 框架,广泛应用于 Java Web 开发中。它通过注解简化了配置,增强了代码的可读性。本文将全面解析 SpringMVC 中常用的注解及其用法,帮助你构建高效的 Web 应用。

一. MVC介绍

MVC 是 Model View Controller 的缩写,它是软件⼯程中的⼀种软件架构设计模式,它把软件系统分 为模型、视图和控制器三个基本部分**.**

不过Spring在实现MVC时, 也结合⾃⾝项⽬的特点, 做了⼀些改变, 相对⽽⾔, 下⾯这个图或许更加合适 ⼀些.

二. Spring 注解介绍

1) @SpringBootApplication

SpringBoot 项目的启动类

Spring Boot 项目的基石,创建 SpringBoot 项目之后会默认在主类加上

java 复制代码
@SpringBootApplication
public class SpringSecurityJwtGuideApplication {
      public static void main(java.lang.String[] args) {
        SpringApplication.run(SpringSecurityJwtGuideApplication.class, args);
    }
}

2) @RequestMapping

@RequestMapping 注解用于映射 URL 到控制器类或方法。它可以用于类和方法上,定义请求的路径、方法类型(GET、POST 等)以及其他属性。

通常规范要求 类路径与方法路径都要写规范~

java 复制代码
@RequestMapping("/request") //类路径
@RestController()
public class RequestController {

    @RequestMapping("/hello") // 方法路径
    public String say(){
        return "你好呀";
    }

@RequestMapping 的URL路径也可以是多层路径, 最终访问时, 依然是 类路径 + ⽅法路径

2.1) @RequestMaping是Get请求 还是 Post请求?

我们后端程序员可以采用 Postman 软件 模拟发送 Get请求 与 Post请求.

可从官网下载并使用 Postman

以上两种请求发送后均可 收到

说明 @Requestmaping 既⽀持Get请求, ⼜⽀持Post请求. 同理, 也⽀持其他的请求方式.

指定请求方式 @RequestMapping(value = "/getRequest",method= RequestMethod**.POST**)

3) @RequestParam (后端参数映射)

**@RequestParam**注解用于绑定请求参数到方法的参数上。它可以设置默认值和是否必需。

后端参数重命名

java 复制代码
@RequestMapping("/m4")
public Object method_4(@RequestParam("time") String createtime) {
 return "接收到参数createtime:" + createtime;
}

前端传递了一个名为time的参数,而后端希望将其映射到createtime字段,我们可以使用@RequestParam注解来实现这一点。

4) @PathVariable (获取URL中参数)

基本用法

@PathVariable 注解的基本用法是在控制器的方法参数中,通过注解将 URL 中的路径变量绑定到方法参数。

java 复制代码
@Controller
@RequestMapping("/products")
public class ProductController {

    @RequestMapping("/{id}")
    public String getProduct(@PathVariable("id") int productId, Model model) {
        // 使用 productId 获取产品信息
        Product product = productService.getProductById(productId);
        model.addAttribute("product", product);
        return "productDetail"; // 返回视图名称
    }
}

在上述例子中:

  • @RequestMapping("/{id}") 指定了 URL 模式,其中 {id} 是一个路径变量。
  • @PathVariable("id") 将 URL 中的 id 部分绑定到 getProduct 方法的 productId 参数。

通过合理使用 @PathVariable,可以有效地处理和解析路径中的变量部分,增强应用程序的灵活性和可维护性。

5) @RequestPart (上传文件)

@RequestPart 注解在 SpringMVC 中用于将请求的一部分(通常是 multipart/form-data 请求中的文件部分))绑定到方法的参数上。这在处理文件上传时非常有用。

基本用法

@RequestPart 注解的基本用法是在控制器的方法参数中,通过注解将请求的一部分绑定到方法参数。

后端代码实现:

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

总结

在本文中,我们详细介绍了 SpringMVC 中一些常用的注解,包括 @SpringBootApplication@RequestMapping@RequestParam@PathVariable@RequestPart。通过这些注解,我们可以简化控制器的开发,增强代码的可读性和维护性。每个注解都有其独特的功能和应用场景,在构建高效的 Web 应用时发挥着重要作用。

这些注解是 SpringMVC 框架的基础,掌握它们将帮助你更好地理解和使用这个强大的 Web 框架。然而,SpringMVC 的注解体系还远不止于此。在下篇文章中,我们将继续探讨其他重要的注解.

敬请期待《SpringMVC注解全解析:构建高效Web应用的终极指南(下)》!

相关推荐
Mryan20053 小时前
解决GraalVM Native Maven Plugin错误:JAVA_HOME未指向GraalVM Distribution
java·开发语言·spring boot·maven
VX_CXsjNo13 小时前
免费送源码:Java+SSM+Android Studio 基于Android Studio游戏搜索app的设计与实现 计算机毕业设计原创定制
java·spring boot·spring·游戏·eclipse·android studio·android-studio
ylfhpy3 小时前
Java面试黄金宝典33
java·开发语言·数据结构·面试·职场和发展·排序算法
乘风!3 小时前
Java导出excel,表格插入pdf附件,以及实现过程中遇见的坑
java·pdf·excel
小小鸭程序员3 小时前
Vue组件化开发深度解析:Element UI与Ant Design Vue对比实践
java·vue.js·spring·ui·elementui
陌路物是人非4 小时前
SpringBoot + Netty + Vue + WebSocket实现在线聊天
vue.js·spring boot·websocket·netty
南宫生4 小时前
Java迭代器【设计模式之迭代器模式】
java·学习·设计模式·kotlin·迭代器模式
seabirdssss4 小时前
通过动态获取项目的上下文路径来确保请求的 URL 兼容两种启动方式(IDEA 启动和 Tomcat 部署)下都能正确解析
java·okhttp·tomcat·intellij-idea
kill bert5 小时前
第30周Java分布式入门 消息队列 RabbitMQ
java·分布式·java-rabbitmq
穿林鸟6 小时前
Spring Boot项目信创国产化适配指南
java·spring boot·后端