1.启用spring mvc的注解是@EnableWebMVC。使用XML进行配置的方式是<mvc:annotation-driven>
2.@ComponentScan注解会通过扫描来查找组件
3.@Controller注解
用来标识该类是一个Controller。
4.@RequestMapping注解
(1)value属性:指定这个方法所要处理的请求路径,它还可以接收一个String类型的数组。比如value={"/","aaa"}的形式
(2)method属性:指定了他要处理的HTTP方法。
(3)该注解可以用在类级别,也可以用于方法级别。
其中最常用的就是GET和POST请求。
5.Model
Model实际就是一个Map。当我们获取到数据以后,可以将数据填充到Model中,然后传递到视图,这样数据就可以渲染到客户端了。
6.Spring MVC允许以多种方式将客户端中的数据传送到控制器的处理器方法中,其中包括:查询参数,表单参数和路径变量。
(1)@RequestParam注解:主要针对查询参数
它的默认值是true,表示必须有值赋给该变量,否则会引发空指针异常。如果想要避免空指针异常,自己需要将required设置为false。
(2)通过路径参数接收输入@PathVariable
Spring MVC允许我们在@RequestMapping路劲中添加占位符,占位符的名称要用大括号{}括起来,路径中的其他部分要与所处理的请求完全匹配,但是占位符部分可以是任意的值。
如果@PathVariable注解中不存在value属性的时候,他会假设占位符的名称与方法的参数名相同。
7.从spring3.0开始,Spring MVC中提供了对Java校验API的支持,只需要保证在类路径下包含这个Java API的实现即可。所有的注解都在javax.validation.constraints包中。如下图所示:
8.@Size注解
该注解的message设置为一个字符串,这个字符串是用大括号括起来的。如果没有大括号的话,message中的值将会作为展现给用户的错误信息,但是使用大括号后,我们可以使用属性文件中的某一个属性,该属性包含了实际的信息。
比如:
在properties文件中我们使用了占位符,它会引用@Size注解上所设置的min和max属性。
下面是@Size注解的具体定义: