当前位置: 首页> 房产> 市场 > SpringMVC 中的常用注解详解

SpringMVC 中的常用注解详解

时间:2025/8/13 21:29:12来源:https://blog.csdn.net/dawn191228/article/details/142279779 浏览次数:0次

文章目录

  • 一、@Controller
  • 二、@RequestMapping
  • 三、@RequestParam
  • 四、@PathVariable
  • 五、@ResponseBody
  • 六、@RestController
  • 七、总结

在 SpringMVC 框架中,注解的使用极大地简化了开发过程,提高了开发效率。本文将详细介绍 SpringMVC 中的常用注解及其使用方法,并结合代码案例进行讲解。

一、@Controller

作用:用于标识一个控制器类。在 SpringMVC 中,控制器负责处理用户的请求,并返回相应的视图或数据。

代码示例

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;@Controller
public class HelloController {@RequestMapping("/hello")public String hello() {return "hello";}
}

在上述代码中,@Controller注解标识了HelloController类是一个控制器。@RequestMapping("/hello")注解用于映射请求路径为/hello的请求到hello方法。当用户访问/hello路径时,hello方法被调用,并返回名为hello的视图。

二、@RequestMapping

作用:用于映射请求路径到控制器的方法上。可以在类级别和方法级别上使用。

代码示例

@Controller
@RequestMapping("/user")
public class UserController {@RequestMapping("/list")public String listUsers() {// 返回用户列表视图return "user/list";}@RequestMapping("/detail/{id}")public String userDetail(@PathVariable("id") Long id) {// 根据 id 获取用户详情并返回视图return "user/detail";}
}

在上述代码中,类级别上的@RequestMapping("/user")注解将所有方法的请求路径都映射到以/user开头的路径下。方法级别上的@RequestMapping("/list")@RequestMapping("/detail/{id}")分别映射了/user/list/user/detail/{id}路径的请求。@PathVariable注解用于获取路径中的参数。

三、@RequestParam

作用:用于将请求参数绑定到方法的参数上。

代码示例

@Controller
@RequestMapping("/search")
public class SearchController {@RequestMapping("/books")public String searchBooks(@RequestParam("keyword") String keyword, @RequestParam(defaultValue = "1") int page) {// 根据关键字和页码进行书籍搜索return "book/searchResults";}
}

在上述代码中,@RequestParam("keyword")将请求中的keyword参数绑定到方法的keyword参数上。@RequestParam(defaultValue = "1")表示如果请求中没有page参数,则默认值为 1。

四、@PathVariable

作用:用于获取路径中的参数。

代码示例

@Controller
@RequestMapping("/product")
public class ProductController {@RequestMapping("/detail/{productId}")public String productDetail(@PathVariable("productId") Long productId) {// 根据产品 id 获取产品详情并返回视图return "product/detail";}
}

在上述代码中,@PathVariable("productId")获取路径中的productId参数,并绑定到方法的productId参数上。

五、@ResponseBody

作用:用于将方法的返回值直接作为响应体返回给客户端,而不是作为视图名称进行视图解析。

代码示例

import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;@Controller
public class ApiController {@GetMapping(value = "/data", produces = MediaType.APPLICATION_JSON_VALUE)@ResponseBodypublic String getData() {return "{\"message\":\"Hello, World!\"}";}
}

在上述代码中,@ResponseBody注解使得getData方法的返回值直接作为 JSON 格式的响应体返回给客户端。

六、@RestController

作用:是@Controller@ResponseBody的组合注解。用于标识一个控制器类,其中的所有方法都将返回值直接作为响应体返回给客户端。

代码示例

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
public class HelloRestController {@GetMapping("/hello")public String hello() {return "Hello, SpringMVC Restful API!";}
}

在上述代码中,@RestController注解标识了HelloRestController类是一个 RESTful 风格的控制器,其中的hello方法的返回值直接作为响应体返回给客户端。

七、总结

SpringMVC 中的这些常用注解极大地简化了 Web 应用的开发过程。通过合理地使用这些注解,可以快速构建高效、可维护的 Web 应用程序。在实际开发中,根据具体的需求选择合适的注解,可以提高开发效率,降低代码的复杂度。

以上就是关于 SpringMVC 中常用注解的介绍,希望对大家有所帮助。

关键字:SpringMVC 中的常用注解详解

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: