Spring mvc 中文文档:http://7xvpsh.com1.z0.glb.clouddn.com/
1.注解
1.1、首先来了解下Spring mvc 最常见的一个应用,注解的使用。
在java 5.0中提供了一些4中元注解,
1).@Target:用于表示被标识的注解的使用范围。他的属性ElemetType有以下属性,以及对应的含义
①.CONSTRUCTOR:标识注解只能使用于描述构造器
②.FIELD:标识注解只能使用于描述域
③.LOCAL_VARIABLE:标识注解只能使用于描述局部变量
④.METHOD:标识注解只能使用于描述方法
⑤.PACKAGE:标识注解只能使用于描述包
⑥.PARAMETER:标识注解只能使用于描述参数
⑦.TYPE:标识注解只能使用于描述类、接口(包括注解类型) 或enum声明
注意:一个注解可以选择多个注解作用域,用逗号隔开
2).@Retention:代表着这个注解的生命周期(大白话就是能活到什么时候)
①.SOURCE:只能在源代码中有效,无法被编译到class文件中
②.CLASS:能被编译带class文件中,但是无法再程序运行中被识别
③.RUNTIME:顾名思义。能够在程序运行中被识别
3).@Document:这个注解比较简单,主要用于描述其它类型的annotation应该被作为被标注的程序成员的公共API,因此可以被例如javadoc此类的工具文档化。Documented是一个标记注解,没有成员。
4).@Inherited:代表着某个被标注的类型是被继承的,例如,父类使用的备注,那么他的子类也会继承到这个注解,要注意的是:**如果子类有实现父类的方法或属性的话,那么按子类的注解为准,不继承父类的注解类型。没有实现的按照父类的注解**
1.2、Spring mvc 封装的注解:
@Controller
作用域:ElementType.TYPE
生命周期:RetentionPolicy.RUNTIME
属性:value:未设置默认按classname首字母小写创建bean,设置了按value值创建bean
@ResquestMap
作用域:ElementType.METHOD, ElementType.TYPE,
生命周期:RetentionPolicy.RUNTIME
属性:value,主要对应url的访问后台的路径。
method, url访问的方式。headers:用于体系请求头中的内容
@RequestParam
作用域:ElementType.PARAMETER
生命周期:RetentionPolicy.RUNTIME
属性:value,获取到请求参数