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

来杯Java提提神 2024-08-16 08:33:02 阅读 57

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

一. MVC介绍

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

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

 

 二. Spring 注解介绍

1) @SpringBootApplication

        SpringBoot 项目的启动类 

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

<code>@SpringBootApplication

public class SpringSecurityJwtGuideApplication {

public static void main(java.lang.String[] args) {

SpringApplication.run(SpringSecurityJwtGuideApplication.class, args);

}

}

2)  @RequestMapping

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

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

@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 (后端参数映射)

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

        后端参数重命名

@RequestMapping("/m4")

public Object method_4(@RequestParam("time") String createtime) {

return "接收到参数createtime:" + createtime;

}

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

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

基本用法

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

@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 注解的基本用法是在控制器的方法参数中,通过注解将请求的一部分绑定到方法参数。

后端代码实现: 

@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 中一些常用的注解,包括 <code>@SpringBootApplication、@RequestMapping@RequestParam@PathVariable@RequestPart。通过这些注解,我们可以简化控制器的开发,增强代码的可读性和维护性。每个注解都有其独特的功能和应用场景,在构建高效的 Web 应用时发挥着重要作用。

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

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



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。