SpringMVC 是一个强大的 Web 框架,广泛应用于 Java Web 开发中。它通过注解简化了配置,增强了代码的可读性。本文将全面解析 SpringMVC 中常用的注解及其用法,帮助你构建高效的 Web 应用。
一. MVC介绍
MVC 是 Model View Controller 的缩写,它是软件⼯程中的⼀种软件架构设计模式,它把软件系统分 为模型、视图和控制器三个基本部分.
不过Spring在实现MVC时, 也结合⾃⾝项⽬的特点, 做了⼀些改变, 相对⽽⾔, 下⾯这个图或许更加合适 ⼀些.
二. Spring 注解介绍
1) @SpringBootApplication
SpringBoot 项目的启动类
Spring Boot 项目的基石,创建 SpringBoot 项目之后会默认在主类加上
@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 (后端参数映射)
@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 中一些常用的注解,包括 @SpringBootApplication
、@RequestMapping
、@RequestParam
、@PathVariable
和 @RequestPart
。通过这些注解,我们可以简化控制器的开发,增强代码的可读性和维护性。每个注解都有其独特的功能和应用场景,在构建高效的 Web 应用时发挥着重要作用。
这些注解是 SpringMVC 框架的基础,掌握它们将帮助你更好地理解和使用这个强大的 Web 框架。然而,SpringMVC 的注解体系还远不止于此。在下篇文章中,我们将继续探讨其他重要的注解.
敬请期待《SpringMVC注解全解析:构建高效Web应用的终极指南(下)》!