@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-爬免费ip并验证其可行性

    前言 最近在重新温习python基础-正则,感觉正则很强大,不过有点枯燥,想着,就去应用正则,找点有趣的事玩玩 00xx01---代理IP 有好多免费的ip,不过一个一个保存太难了,也不可能,还是用我 ...

  2. vue 监听返回

    mounted: function() { //使用keep-alive时可以放在activated内 if (window.history && window.history.pus ...

  3. 如何 在 jQuery 中的 $.each 循环中使用 break 和 continue

    jQuery中each类似于javascript的for循环 但不同于for循环的是在each里面不能使用break结束循环,也不能使用continue来结束本次循环,想要实现类似的功能就只能用ret ...

  4. Foundation框架系列-NSString

    NSString OC字符串与C语言字符串转换 NSString *str = @"Hello world ! !"; // OC字符串 --> C语言字符串 char *c ...

  5. 2019-8-31-dotnet-如何在-Mock-模拟-Func-判断调用次数

    title author date CreateTime categories dotnet 如何在 Mock 模拟 Func 判断调用次数 lindexi 2019-08-31 16:55:58 + ...

  6. 廖雪峰Java10加密与安全-3摘要算法-1MD5

    1.摘要算法 1.1 摘要算法(哈希算法/Hash/数字指纹): 计算任意长度数据的摘要(固定长度) 相同的输入数据始终得到相同的输出 不同的输入尽量得到不同的输出 1.2 摘要算法目的: 验证数据和 ...

  7. Django中间件分析

    SessionMiddleware 浏览器会发送包含SESSION_COOKIE_NAME的的Cookie 中间件从django_session中按照SESSION_COOKIE_NAME取出存入的s ...

  8. Yaf--个人封装yaf的框架+swoole+elasticsearch(Window+linux版)

    这是基于c写底层的yaf框架集成PDO+predis+读写分离+composer+全局异常处理+多模块开发+Log日志记录简单容易上手的框架 注意:window版没有swoole和Smarty主要用作 ...

  9. Touching segments(数据结构)

    题目链接 Problem Statement Your Maths professor is a very nice guy, but he sometimes comes up with not s ...

  10. 88 Lowest Common Ancestor of a Binary Tree

    原题网址:https://www.lintcode.com/problem/lowest-common-ancestor-of-a-binary-tree/description 描述 给定一棵二叉树 ...