码迷,mamicode.com
首页 > 编程语言 > 详细

我的SpringMvc学习之路之注解

时间:2016-04-22 14:48:22      阅读:248      评论:0      收藏:0      [点我收藏+]

标签:

用注解代替配置文件可减少编程是不必要的麻烦和错误。

@Controller  控制器定义

在一个class的上面写上@controller声明此类为控制器类,在配置中*.dispatcher.xml里定义<context:component-scan base-package="com.song" /> 
*.dispatcher.xml则会自动扫描com.song下面的每个文件,当发现@Controller注解的文件时,会将该类转换为bean。@Controller与@@Component有同样的作用。

比如:技术分享

@RequestMapping 映射定义

定义在类的前面,将url与类绑定。

如:技术分享

定义在方法前面,将url与方法绑定。

如:技术分享

@RequestMapping还可以限定进入该方法的方式

如:技术分享

声明该方法只能通过GET请求进入。

@PathVariable与@RequestParam 绑定URL参数

这里把两个注解仿在一起讲,因为作用非常相近。
@RequestParam 将url上传递过来的参数绑定在形参上。

如:技术分享
url 可以写成 技术分享就能把?后的name绑定在形参name里使用。


@PathVariable 将rest风格的url上的参数绑定在形参上

如:技术分享

【注】@RequestMapping("index/{name}")

从Spring3.0后加入了rest风格,就像这样

 技术分享

通过在@PathVariable路径上写上参数的名字,就可以将浏览器上写在方法映射后的参数绑定在形参上。【注】{...}的的名称要与形参的名称一样,如果在@PathVariable后声明了接受参数的名称则形参名称可自定义。并且通过绑定的参数可以直接通过EL在页面获得。

@SessionAttribute与@ModelAttribute


@SessionAttribute 使模型对象的属性拥有session的作用域

如:技术分享

将ModelMap中名为u的属性放入session中,这个属性可以跨请求访问。【注】@SessionAttribute还可以声明一个数组

在默认的情况下,@ModelAttribute中的属性是保存在request中的,这导致本次请求结束后@ModelAttribute将会被销毁,所以配合@SessionAttribute使用,将@ModelAttribute的属性绑定在@SessionAttribute上,即可实现@ModelAttribute的跨请求访问。

我的SpringMvc学习之路之注解

标签:

原文地址:http://blog.csdn.net/wei4487835/article/details/51217238

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!