• Spring MVC模块常用到的注解简介说明


    转自:

    Spring MVC模块常用到的注解简介说明

    下文笔者讲述Spring MVC中常用的注解简介说明,如下所示

    @Controller注解

    @Controller注解:
        用于向Spring容器表述这是一个前端交互组件,当然此组件还需结合@Getmapping @PostMapping等注解一起使用
    

    例:

    @Controller
    public class UserController {
     
    }
    

    @RequestMapping

    此注解用于将url映射到整个处理类或特定的处理请求的方法 
    可以只用通配符
    当我们不指定方法类型时,则可用接收GET/POST
    当我们使用@GetMapping 或 @PostMapping 可分别用于接收Get和Post请求
    
    @Controller
    @RequestMapping("/user")
    public class UserController  {
    
      @Autowired
      private UserService userService;
      
      @RequestMapping(/user/*)
      public void sayHello(){
    		//请求为 /user/hello/* 都会进入这个方法!
    		//例如:/user/hello/8888   /user/hello/testttt
    		//可以通过get/post 请求
      }
      @RequestMapping(value="/test",method=RequestMethod.GET)
      public void sayTest(){
          //只能通过get请求
      } 
    }
    

    @RequestParam注解功能

    @RequestParam
      将请求的参数绑定到方法中的参数上
       有required参数
       默认情况下 required=true 也就是改参数必须要传
    

    例:

     @RequestMapping("/user")
      public String sayUser(
      @RequestParam(value = "name", required = false) String name,
      @RequestParam(value = "age", required = true) String age) {
      //age参数必须传 ,name可传可不传
      ...
      }
    

    @PathVariable

    @PathVariable注解用于修饰方法参数
       此注解会将修饰的方法参数变为可供使用的uri变量(可用于动态绑定)
    

    例:

    @RequestMapping(value="/user/{userid}",method=RequestMethod.GET)
    public String findUserInfo(@PathVariable String userid, Model mode) {
     //使用@PathVariable注解绑定 {userid} 到String userid
    }
    
    注意事项: 
         @PathVariable中的参数可以是任意的简单类型
            如int, long, Date等等
              Spring会自动将其转换成合适的类型或者抛出 TypeMismatchException异常
         @PathVariable支持使用正则表达式
    

    @RequestBody注解功能

    @RequestBody注解的功能:
      其功能将方法参数绑定到HTTP请求Body上
    

    例:

    @RequestMapping(value = "/userInfo", method = RequestMethod.PUT)
    public void handle(@RequestBody String body,@RequestBody User user){
       //可以绑定自定义的对象类型
    }
    

    @ResponseBody注解的功能

    @ResponseBody注解的功能:
         将返回内容直接输出到Http response body中
    @ResponseBody在输出JSON格式的数据时,常用此注解
    

    例:

    @RequestMapping(value = "/bodyTest", method =RequestMethod.POST)
    @ResponseBody
    public String helloWorld() {    
    return "Hello java265.com";//返回String类型
    }
    

    @RestController

       RestController控制器实现了REST的API
       用于返回JSON,xml,或其他自定义类型内容
       RestController注解包含@RequestMapping与@ResponseBody
    

    @ModelAttribute

     @ModelAttribute注解的功能用于方法或方法参数上
      当它用于方法上时,则为方法添加一个或多个模型属性(model attributes)
    
    注意事项:
       1.@ModelAttribute方法会在@RequestMapping方法调用之前而调用
       2.该方法支持与@RequestMapping一样的参数类型,但并不能直接映射成请求。控制器中的。
  • 相关阅读:
    SpringMVC - 对于如何配置 Filter 的深度剖析
    DoLa:对比层解码提高大型语言模型的事实性
    软考 系统架构设计师系列知识点之数字孪生体(4)
    zemax对称式目镜
    Vue——方法与事件、 样式绑定、数据绑定、面试题、笔试题
    java练习项目 拼图游戏
    splice函数
    四、文件管理(三)文件系统
    华为云云耀云服务器L实例评测|基于云服务器的minio部署手册
    可恶,又是个线上问题
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/127763053