1、@Controller
该类代表控制器类(控制层/表现层),用于标记在一个类上,使用它标记的类就是一个SpringMVC的 Controller类,分发处理器会扫描使用该注解的类的方法,并检测该方法是否使用了 @RequestMapping 注解,可以把request请求Header部分的值绑定到方法的参数上。
2、@ResponseBody
把return的结果变成JSON对象返回;如果没有这个注解,这个方法只能返回要跳转的路径即跳转的html/JSP页面。有这个注解,可以不跳转页面,只返回JSON数据,放入Response的body中去。
3、@RestController
@Controller与@ResponseBody的结合实现。
4、@RequestMapping
用于处理请求地址映射的注解,表示类中所有响应请求的方法都是以该地址作为父路径。
注:@RestController与@RequestMapping还可以进行封装结合。
5、@Override
帮助自己检查是否正确的重写了父类中已有的方法,告诉读代码的人,这是一个重写的方法。
6、@Resource
(1)@Resource默认按byName自动注入。
(2)既不指定name属性,也不指定type属性,则自动按byName方式进行查找。如果没有找到符合的bean,则回退为一个原始类型进行进行查找,如果找到就注入。
(3)只是指定了@Resource注解的name,则按name后的名字去bean元素里查找有与之相等的name属性的bean。
(4)只指定@Resource注解的type属性,则从上下文中找到类型匹配的唯一bean进行装配,找不到或者找到多个,都会抛出异常。
7、@Autowired
@Autowired默认先按byType进行匹配,如果发现找到多个bean,则又按照byName方式进行匹配,如果还有多个,则报出异常。
8、@Valid
没有分组的功能。@Valid:可以用在方法、构造函数、方法参数和成员属性(字段)上。
9、@Validated
提供了一个分组功能,可以在入参验证时,根据不同的分组采用不同的验证机制,可以用在类型、方法和方法参数上。但是不能用在成员属性(字段)上。