这篇文章给大家介绍spring mvc中的注解有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
<强> 1。@ Controller 强>
控制器控制器是通过服务接口定义的提供访问应用程序的一种行为,它解释用户的输入,将其转换成一个模型然后将试图呈献给用户.Spring MVC使用@ Controller定义控制器,它还允许自动检测定义在类路径下的组件并自动注册。如想自动检测生效,需在XML头文件下引入spring上下文:
<强> 2。@RequestMapping 强>
我们可以@RequestMapping注解将类似“/favsoft”这样的URL映射到整个类或特定的处理方法上。一般来说,类级别的注解映射特定的请求路径到表单控制器上,而方法级别的注解只是映射为一个特定的HTTP方法请求(“会”、“文章”等)或HTTP请求参数。
@ controller @RequestMapping (“/favsoft") 公开课AnnotationController { @RequestMapping(方法=RequestMethod.GET) 公共字符串get () { 返回“,“; } @RequestMapping (value=https://www.yisu.com/zixun/?getName方法=RequestMethod.GET) 公共字符串getName(字符串的用户名){ 返回用户名; } @RequestMapping (value="/{一}”,方法=RequestMethod.GET) 公共字符串getDay(日期){ DateFormat df=new SimpleDateFormat (“yyyy-MM-dd”); 返回df.format(天); } @RequestMapping (value="/addUser”,方法=RequestMethod.GET) 公共字符串addFavUser (@Validated黄癣黄癣,BindingResult结果){ 如果(result.hasErrors ()) { 返回“黄癣”; }//favUserService.addFavUser(黄癣); 返回“重定向:/favlist”; } @RequestMapping(“/测试”) @ResponseBody 公共字符串测试(){ 返回“aa”; } }
@RequestMapping既可以作用在类级别,也可以作用在方法级别。当它定义在类级别时,标明该控制器处理所有的请求都被映射到/favsoft路径下.@RequestMapping中可以使用方法属性标记其所接受的方法类型,如果不指定方法类型的话,可以使用HTTP GET/POST方法请求数据,但是一旦指定方法类型,就只能使用该类型获取数据。
@RequestMapping可以使用@Validated与BindingResult联合验证输入的参数,在验证通过和失败的情况下,分别返回不同的视图。
@RequestMapping支持使用URI模板访问URL.URI模板像是URL模样的字符串,由一个或多个变量名字组成,当这些变量有值的时候,它就变成了URI。
<强> 3。@PathVariable 强>
在Spring MVC中,可以使用@PathVariable注解方法参数并将其绑定到URI模板变量的值上。如下代码所示:
findOwner字符串(字符串,模型模型){ 黄癣黄癣=favUserService.findFavUser (); model.addAttribute ( ; }
URI模板”favusers/{favUserId}“指定变量的名字favUserId,当控制器处理这个请求的时候,favUserId的值会被设定到URI中。比如,当有一个像“favusers/favccxx”这样的请求时,favUserId的值就是favccxx。
@PathVariable可以有多个注解,像下面这样:
@RequestMapping (value=https://www.yisu.com/zixun/"/业主/{ownerId}/宠物/{petId}”,方法=RequestMethod.GET)公共字符串findPet (@PathVariable字符串ownerId @PathVariable字符串petId模型模型){ 主人主人=ownerService.findOwner (ownerId); 宠物宠物=owner.getPet (petId); 模型。addAttribute(“宠物”,pet);返回“displayPet”; }
@PathVariable中的参数可以是任意的简单类型,如int,长时间,日期等等.Spring会自动将其转换成合适的类型或者抛出TypeMismatchException异常。当然,我们也可以注册支持额外的数据类型。
如果@PathVariable使用Map