没有合适的资源?快使用搜索试试~ 我知道了~
首页springmvc常用注解标签详解
资源详情
资源评论
资源推荐

springmvc 常用注解标签详解
1、@Controller
在 中,控制器 负责处理由 分发的请求,
它把用户请求的数据经过业务处理层处理之后封装成一个 ,然后再把该
返回给对应的 进行展示。在 中提供了一个非常简便的定义
的方法,你无需继承特定的类或实现特定的接口,只需使用
标记一个类是 ,然后使用和等
一些注解用以定义 请求和 方法之间的映射,这样的 就能
被外界访问到。此外 不会直接依赖于 和
等 对象,它们可以通过 的方法参数
灵活的获取到。
用于标记在一个类上,使用它标记的类就是一个
对象。分发处理器将会扫描使用了该注解的类的方法,并检测该方法是否
使用了注解。只是定义了一个控制器类,而使用
注解的方法才是真正处理请求的处理器。单单使用
标记在一个类上还不能真正意义上的说它就是 的一个控制
器类,因为这个时候 还不认识它。那么要如何做 才能认识它呢?这个
时候就需要我们把这个控制器类交给 来管理。有两种方式:
(!)在 的配置文件中定义 "的 #对象。

($)在 的配置文件中告诉 该到哪里去找标记为
的 控制器。
%&''方式一''(
%# )*+++#++"*,(
%&''方式二''(
% -.' #'/ ) *+++#* ,(,,路径
写到 的上一层0扫描包详解见下面浅析1
2、@RequestMapping
是一个用来处理请求地址映射的注解,可用于类或方法上。用于类
上,表示类中的所有响应请求的方法都是以该地址作为父路径。
注解有六个属性,下面我们把她分成三类进行说明(下面有相应示
例)。
1、 value, method;
: 指定请求的实际地址,指定的地址可以是 2 3 模式(后面将会
说明);
: 指定请求的 类型, 453、63、3、5535 等;
2、consumes,produces

: 指定处理请求的提交内容类型('3"),例
如 ,78 -,9
. 指定返回的内容类型,仅当 请求头中的0:1类型中包含
该指定类型才返回;
3、params,headers
: 指定 中必须包含某些参数值是,才让该方法处理。
: 指定 中必须包含某些指定的 值,才能让该方法处理请求。
3、@Resource 和@Autowired
和: 都是做 # 的注入时使用,其实 并不是
的注解,它的包是 7-++,需要导入,但是
支持该注解的注入。
1、共同点
两者都可以写在字段和 方法上。两者如果都写在字段上,那么就不需要再写
方法。
2、不同点
(!):

: 为 提供的注解,需要导入包
+;/+#+;"++:9只按照 #"3" 注
入。
# 32 <
,, 下面两种: 只要使用一种即可 :
9 ,, 用于字段上
:
# 0 1 < ,, 用于属性的方法上
+ ) 9
=
=
: 注解是按照类型(#"3")装配依赖对象,默认情况下它要求依赖对
象必须存在,如果允许 值,可以设置它的 属性为 ;。如果我们想使
用按照名称(#">)来装配,可以结合?@ 注解一起使用。如下:
# 32 <
:
?@0**1
9
=
($)
默认按照 A"> 自动注入,由 B$55 提供,需要导入包
7-++。 有两个重要的属性: 和 ",
而 将 注解的 属性解析为 # 的名字,而 " 属性则解

析为 # 的类型。所以,如果使用 属性,则使用 #"> 的自动注入策略,
而使用 " 属性时则使用 #"3" 自动注入策略。如果既不制定 也不制定
" 属性,这时将通过反射机制使用 #"> 自动注入策略。
# 32 <
,, 下面两种 只要使用一种即可
0)**1
9 ,, 用于字段上
0)**1
# 0 1 < ,, 用于属性的 方法上
+ ) 9
=
=
注:最好是将 放在 方法上,因为这样更符合面向对象的思想,通
过 、 去操作属性,而不是直接去操作属性。
装配顺序:
C 如果同时指定了 和 ",则从 上下文中找到唯一匹配的 # 进行
装配,找不到则抛出异常。
D 如果指定了 ,则从上下文中查找名称()匹配的 # 进行装配,找不到
则抛出异常。
E 如果指定了 ",则从上下文中找到类似匹配的唯一 # 进行装配,找不到或是
找到多个,都会抛出异常。
剩余24页未读,继续阅读














安全验证
文档复制为VIP权益,开通VIP直接复制

评论1