【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学习的还很少很少,所以对这些注解的体会还很浅很浅。
【springmvc学习】常用注解总结的更多相关文章
- (三)SpringMVC之常用注解
SpringMVC的常用注解 注解 说明 @Controller 用于说明这个类是一个控制器 @RequestMapping 用于注释一个控制器类或者控制器类的方法 @RequestParam 用于将 ...
- SpringMVC的常用注解
在SpringMVC中常用的注解主要都是用于Controller上,所以下面的四大不同类型的注解都是根据它们处理的request的不同内容部分来区分的: 处理requ ...
- springMvc之常用注解介绍
@requestbody和@requestparam的用法 获取请求参数的方法 get请求: 直接获取request 如: public String getHtml(HttpServletR ...
- SpringMVC相关常用注解
@Controller: @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象 @RequestMapping: RequestMappin ...
- Spring和SpringMVC的常用注解
Spring的部分: 使用注解之前要开启自动扫描功能 其中base-package为需要扫描的包(含子包). <context:component-scan base-package=" ...
- springMVC学习三 注解开发环境搭建
第一步:导入jar包 第二步:配置DispatcherServlet 前端控制器 因为此处把DsipatcherServlet的映射路径配置成了"/",代表除了.jsp文件之外, ...
- springMVC的常用注解有哪些?
1.@Controller @Controller 用于标记在一个类上,使用它标记的类就是一个SpringMVC Controller 对象.分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否 ...
- springmvc:常用注解
一.RequestParam注解 作用: 把请求中指定名称的参数给控制器中的形参赋值. 属性: value:请求参数中的名称. required:请求参数中是否必须提供此参数.默认值:true.表示必 ...
- SpringMVC框架——常用注解
@RequestMapping Spring MVC 通过 @RequestMapping 注解将请求与业务方法进行映射,在方法定义处,在类定义都可以添加该注解. 常用参数: 1.value:指定请求 ...
- SpringMVC学习笔记:数据的接收与返回
SpringMVC的定义:Spring Web MVC is the original web framework built on the Servlet API and included in t ...
随机推荐
- Python+Selenium基础入门及实践
Python+Selenium基础入门及实践 32018.08.29 11:21:52字数 3220阅读 23422 一.Selenium+Python环境搭建及配置 1.1 selenium 介绍 ...
- Android开发 MediaRecorder使用Camera2配合录制视频(暂时有异常抛出,无法使用)
前言 这个博客本来是用来详细介绍MediaRecorder与Camera2,但是出乎预料之外,在获取mMediaRecorder.getSurface();的时候无论如何都是报错的,报错为Surfac ...
- KMP算法简明法则
KMP算法也算是相当经典,但是对于初学者来说确实有点绕,大学时候弄明白过后来几年不看又忘记了,然后再弄明白过了两年又忘记了,好在之前理解到了关键点,看了一遍马上又能理解上来.关于这个算法的详解网上文章 ...
- 「题解」NOIP模拟测试题解乱写I(29-31)
NOIP模拟29(B) T1爬山 简单题,赛时找到了$O(1)$查询的规律于是切了. 从倍增LCA那里借鉴了一点东西:先将a.b抬到同一高度,然后再一起往上爬.所用的步数$×2$就是了. 抬升到同一高 ...
- Censoring【自动AC机】【水题毁我青春】【20190614】
这题简直比注水猪肉还水QAQ. 以前做过KMP的Censoring单串匹配,果断选择自动AC机w 对短串建自动AC机 长串去机子里匹配 用个栈边匹配边弹出 记得弹出一个串后把匹配点指向栈顶就ojbk ...
- 使用 Vue.js 和 Chart.js 制作绚丽多彩的图表
本文作者:Jakub Juszczak 编译:胡子大哈 翻译原文:http://huziketang.com/blog/posts/detail?postId=58e5e0e1a58c240ae35b ...
- ssm项目 maven 项目pon.xml 配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...
- C++中如何实现像Java中接口功能--C++抽象类(纯虚函数,虚函数)
在Java中定义个接口,之后可以定义不同的类来实现接口,如果有个函数的参数为这个接口的话,就可以对各自的类做出不同的响应. 如: interface animal { public void info ...
- 关于obj文件的理解
编译器先编译.cpp为obj文件,看看文件内有没有冲突,然后再进行链接,链接头文件引入的lib库等等,然后就生成exe文件了,下面这个图说的很好:
- nulls_hlist原理 和 tcp连接查找
原文链接 http://abcdxyzk.github.io/blog/2018/09/28/kernel-sk_lookup/