用注解取代配置文件可降低编程是不必要的麻烦和错误。

@Controller  控制器定义

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


比方:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


@RequestMapping 映射定义

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

如:

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


如:

@RequestMapping还能够限定进入该方法的方式

如:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


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

@PathVariable与@RequestParam 绑定URL參数

这里把两个注解仿在一起讲,由于作用很相近。

@RequestParam 将url上传递过来的參数绑定在形參上。


如:
url 能够写成 就能把?

后的name绑定在形參name里使用。



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

如:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">


【注】@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学习之路之注解的更多相关文章

  1. springMVC学习之路4-最后的征程:整合hibernate

    今天小编很开心,因为学习springMVC基础的路终于走到了尽头,也成功搭建了一个SSH框架,暗自在心里默默地开心了1秒钟. 好了,回归正题:整合Hibernate.上一节,我为大家分享我整合spri ...

  2. Android开发学习之路--Annotation注解简化view控件之初体验

    一般我们在写android Activity的时候总是会在onCreate方法中加上setContentView方法来加载layout,通过findViewById来实现控件的绑定,每次写这么多代码总 ...

  3. springMVC学习记录2-使用注解配置

    前面说了一下使用xml配置springmvc,下面再说说注解配置.项目如下: 业务很简单,主页和输入用户名和密码进行登陆的页面. 看一下springmvc的配置文件: <?xml version ...

  4. Android开发学习之路-让注解帮你简化代码,彻底抛弃findViewById

    本文主要是记录注解的使用的学习笔记,如有错误请提出. 在通常的情况下,我们在Activity中有一个View,我们要获得这个View的实例是要通过findViewById这个方法,然后这个方法返回的是 ...

  5. SpringMVC学习总结(四)——基于注解的SpringMVC简单介绍

    SpringMVC是一个基于DispatcherServlet的MVC框架,每一个请求最先访问的都是 DispatcherServlet,DispatcherServlet负责转发每一个Request ...

  6. 我的java学习之路--Java注解专题

    学习网址:http://www.imooc.com/video/8861 1.引言 2.Java中的常见注解 JDK自带注解:<br>@Override @Deprecated @Supp ...

  7. SpringMVC学习记录二——非注解和注解的处理器映射器和适配器

    3      非注解的处理器映射器和适配器 3.1      非注解的处理器映射器 处理器映射器: org.springframework.web.servlet.handler.BeanNameUr ...

  8. SpringMVC学习笔记一:采用注解式搭建简单springMVC环境

    搭建的环境使用的是maven项目 项目目录树: 搭建环境使用的jar包,pom.xml文件 <project xmlns="http://maven.apache.org/POM/4. ...

  9. springMVC学习之路2-文件上传

    springMVC的上传文件方式一共有两种,下面听我简单介绍一下: 1.1 首先配置springAnnotation-servlet.xml,新增一个multipartResolver处理器,并定义默 ...

随机推荐

  1. IDA Pro plug-in defines

    /* This file contains definitions used by the Hex-Rays decompiler output. It has type definitions an ...

  2. unity 3D + Google Play In-app Billing (IAB)(转) 热度 3

    最近由于工作需要,研究unity如何接入Google Play以实现游戏内购买.目前IAB的实现,prime31做的插件比较好,各平台的IAB均有,但费用相对过高(几乎都是70刀左右,可怜穷小子).在 ...

  3. TortoiseSVN 冲突解决详细步骤 (图)

    冲突还是很好解决的,但我没有试过在IDE里边集成怎样.记得VSS在Visual Studio里边解决冲突就非常完美,冲突自动报告,自动弹出冲突解决窗口,让你处理该怎么合并两份版本.合并后自动签入com ...

  4. (原)将Oracle迁移到SQLServer

    背景:中了一个标,Oracle改成SQLServer解决办法: 1.首先想到微软的解决方案:Microsoft SQL Server Migration Assistant v7.4 for Orac ...

  5. 探寻C++最快的读取文件的方案 ——C++ IO优化

    在竞赛中,遇到大数据时,往往读文件成了程序运行速度的瓶颈,需要更快的读取方式.相信几乎所有的C++学习者都在cin机器缓慢的速度上栽过跟头,于是从此以后发誓不用cin读数据.还有人说Pascal的re ...

  6. Windows2003 Webshell默认权限

    0×00 前言 0×01 Windows2003默认配置 0×02 Windows2003典型配置的权限 0×03 cmd运行的条件   0×00 前言 这一章主要讲解关于我们刚拿到webshell的 ...

  7. 通过nc构造telnet后门

    nc被称为网络中的“瑞士军刀”,其功能强大,如果在肉鸡上运行“nc.exe –p port –L –d –e cmd.exe”命令就可以构建一个telnet后门,即使关闭了nc.exe程序运行窗口,该 ...

  8. Tensorflow 之 name/variable_scope 变量管理

    name/variable_scope 的作用 充分理解 name / variable_scope TensorFlow 入门笔记 当一个神经网络比较复杂.参数比较多时,就比较需要一个比较好的方式来 ...

  9. ECharts学习总结(三):ECharts图表对象的初始化(init)详解以及注意事项

    一.相关js文件的引入 这里我们采用标签式引入文件的方式,我们引入两个js文件,一个是esl.js文件和一个echarts.js. <script src="js/esl.js&quo ...

  10. wifi连接android设备进行调试

    手机下载终端模拟器: 并输入例如以下$ su # setprop service.abd.tcp.port 5555 # stop adbd # start adbd 在cmd中输入adb conne ...