【springmvc学习】常用注解总结


@Controller


    在springmvc中,我们用它来告诉前端控制器,他这个类是controller,也就是springmvc的一个对象了,我们在spring.xml配置文件中用<context:component-scan>配置了要扫描这样的类,这样springmvc就可以用它来处理由前端控制器分发的请求了..      


@Autowired


    在我们的controller中,我们经常在私有定义service的时候使用它,它可以写在字段上或者是方法上,用来装载bean,当spring启动的时候,AutowiredAnnotationBeanPostProcessor将扫描spring容器中的bean,当发现bean中拥有这个注解的时候,就找到和他一样的bean,注入到对应的地方去。他可以用到字段和属性方法中。


@RequestMapping


     这个是一个地址映射的注解,可以用在类上或者是方法上,假如是在类上,那就是父路径,这样一个完整的url请求路径就是父路径+子路径。


    它里面的属性比较多,例如:@RequestMapping(value = "/editItems", method =
{ RequestMethod.POST, RequestMethod.GET }) 其中value是代表实际上请求的路径,method里面可以设置请求的类型,例如post,get等,params代码的是参数值,也就是request中必须包含参数才能处理。

    @RequestMapping支持很多的参数类型,包括

    HttpServlet对象(HttpServletRequest,HttpServletResponse,HttpSession)

    InputStream,OutputStream,Reader和writer  

    使用@ModelAttribute标记的参数

    使用MultipartFile来上传文件

    spring封装的验证方法。比如获取异常的Error和BindingResult对象

    等


@RequestParam


     他是用来获取jsp传来的参数的,和request.getparameter("username").例如这个方法:public String editItems(Model model,@RequestParam(value = "id", required = true, defaultValue = "1") Integer items_id) 其中value是代表传来的值,required代表是否必须,默认是true,表示请求中一定要有参数值,defaultValue是默认值,表示如果请求中没有同名参数时候的默认值,也就是假如id没有传过来,那么id的默认值就是1.


@ModelAttribute


      springmvc默认支持pojo会显,也就是自动的将形参中的pojo重新放回到request域中,request的key为pojo的类名,比如返回到但是假如我们要数据回显,遇到了jsp页面和后台方法的不一致,比如:

      public String editItemSubmit(Model model,ItemsCustom itemsCustom)这个方法,springmvc自动将itemsCustom放在request中,但是假如返回到jsp的不是itemsCustom,这时候加上@ModelAttribute("items"),jsp页面就可以通过items.price轻松获取到itemsCustom的price属性了。

     

@Validated


      表示对参数绑定数据进行校验,校验信息写入到BindingResult中,要校验的pojo后面添加BingdingResult。


@RequestBody


      注解用来读取HTTP请求的内容,通过springmvc提供的HttpMessageConverter接口将读到的内容转换为json,XML等格式绑定到controller方法的参数中。比如讲http请求的json数据转换为Java对象。


@ResponseBody


      将注解用于将Controller的方法返回的对象,通过接口转换为指定的格式,比如将java对象转换为json对象的时候使用它。


@PathVariable


      用于将请求的url中的模板变量映射到功能处理方法的参数上,例如:

    @RequestMapping("/viewItems/{id}")

   public @ResponseBody viewItems(@PathVariable("id") String id,Model model)throws Exception{


      对springmvc学习的还很少很少,所以对这些注解的体会还很浅很浅。

原文地址:https://www.cnblogs.com/fengxiaoliu/p/6425724.html