标签:
用注解代替配置文件可减少编程是不必要的麻烦和错误。
@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