@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学习的还很少很少,所以对这些注解的体会还很浅很浅。

【springmvc学习】常用注解总结的更多相关文章

  1. (三)SpringMVC之常用注解

    SpringMVC的常用注解 注解 说明 @Controller 用于说明这个类是一个控制器 @RequestMapping 用于注释一个控制器类或者控制器类的方法 @RequestParam 用于将 ...

  2. SpringMVC的常用注解

             在SpringMVC中常用的注解主要都是用于Controller上,所以下面的四大不同类型的注解都是根据它们处理的request的不同内容部分来区分的:         处理requ ...

  3. springMvc之常用注解介绍

    @requestbody和@requestparam的用法  获取请求参数的方法 get请求: 直接获取request    如: public String getHtml(HttpServletR ...

  4. SpringMVC相关常用注解

    @Controller: @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象 @RequestMapping: RequestMappin ...

  5. Spring和SpringMVC的常用注解

    Spring的部分: 使用注解之前要开启自动扫描功能 其中base-package为需要扫描的包(含子包). <context:component-scan base-package=" ...

  6. springMVC学习三 注解开发环境搭建

    第一步:导入jar包 第二步:配置DispatcherServlet  前端控制器 因为此处把DsipatcherServlet的映射路径配置成了"/",代表除了.jsp文件之外, ...

  7. springMVC的常用注解有哪些?

    1.@Controller @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象.分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否 ...

  8. springmvc:常用注解

    一.RequestParam注解 作用: 把请求中指定名称的参数给控制器中的形参赋值. 属性: value:请求参数中的名称. required:请求参数中是否必须提供此参数.默认值:true.表示必 ...

  9. SpringMVC框架——常用注解

    @RequestMapping Spring MVC 通过 @RequestMapping 注解将请求与业务方法进行映射,在方法定义处,在类定义都可以添加该注解. 常用参数: 1.value:指定请求 ...

  10. SpringMVC学习笔记:数据的接收与返回

    SpringMVC的定义:Spring Web MVC is the original web framework built on the Servlet API and included in t ...

随机推荐

  1. Python+Selenium基础入门及实践

    Python+Selenium基础入门及实践 32018.08.29 11:21:52字数 3220阅读 23422 一.Selenium+Python环境搭建及配置 1.1 selenium 介绍 ...

  2. Android开发 MediaRecorder使用Camera2配合录制视频(暂时有异常抛出,无法使用)

    前言 这个博客本来是用来详细介绍MediaRecorder与Camera2,但是出乎预料之外,在获取mMediaRecorder.getSurface();的时候无论如何都是报错的,报错为Surfac ...

  3. KMP算法简明法则

    KMP算法也算是相当经典,但是对于初学者来说确实有点绕,大学时候弄明白过后来几年不看又忘记了,然后再弄明白过了两年又忘记了,好在之前理解到了关键点,看了一遍马上又能理解上来.关于这个算法的详解网上文章 ...

  4. 「题解」NOIP模拟测试题解乱写I(29-31)

    NOIP模拟29(B) T1爬山 简单题,赛时找到了$O(1)$查询的规律于是切了. 从倍增LCA那里借鉴了一点东西:先将a.b抬到同一高度,然后再一起往上爬.所用的步数$×2$就是了. 抬升到同一高 ...

  5. Censoring【自动AC机】【水题毁我青春】【20190614】

    这题简直比注水猪肉还水QAQ. 以前做过KMP的Censoring单串匹配,果断选择自动AC机w 对短串建自动AC机 长串去机子里匹配 用个栈边匹配边弹出 记得弹出一个串后把匹配点指向栈顶就ojbk ...

  6. 使用 Vue.js 和 Chart.js 制作绚丽多彩的图表

    本文作者:Jakub Juszczak 编译:胡子大哈 翻译原文:http://huziketang.com/blog/posts/detail?postId=58e5e0e1a58c240ae35b ...

  7. ssm项目 maven 项目pon.xml 配置

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  8. C++中如何实现像Java中接口功能--C++抽象类(纯虚函数,虚函数)

    在Java中定义个接口,之后可以定义不同的类来实现接口,如果有个函数的参数为这个接口的话,就可以对各自的类做出不同的响应. 如: interface animal { public void info ...

  9. 关于obj文件的理解

    编译器先编译.cpp为obj文件,看看文件内有没有冲突,然后再进行链接,链接头文件引入的lib库等等,然后就生成exe文件了,下面这个图说的很好:

  10. nulls_hlist原理 和 tcp连接查找

    原文链接 http://abcdxyzk.github.io/blog/2018/09/28/kernel-sk_lookup/