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一样的参数类型,但并不能直接映射成请求。控制器中的。

你可能感兴趣的:(Spring,MVC,Spring,MVC)