Spring常用注解
1. 将类标识为Bean
@Controller
用于标注控制层组件;@Controller 标注在一个类上,用它标记的类视为SpringMVC Controller 对象,分发处理器将会扫描使用了该注解的类的方法,并检测改方法是否使用了@RequestMapping 注解,可以把Request请求header部分的值绑定到方法的参数上。
@RestController
相当于@Controller 和 @ResponseBody的组合效果。
@Component
泛指组件,当主键不好归类的时候,可以用这个注解进行标注。
@Repository
用于注解dao层,在daoImpl类上注解,不只是将类识别为Bean,同时它还能将所标注的类中抛出的数据访问异常封装为 Spring 的数据访问异常类型。 Spring本身提供了一个丰富的并且是与具体的数据访问技术无关的数据访问异常结构,用于封装不同的持久层框架抛出的异常,使得异常独立于底层的框架。
@Service
泛指组件,用于标注业务层组件。
2
@ResponseBody
异步请求;该注解用于将Controller的方法返回的对象,通过适当的HttpMessageController转换为指定格式后,写到Response对象的body数据区;在返回的数据不是html标签的页面,而是其他格式的数据(如 json,xml)时使用。
@RequestMapping
一个用来处理请求地址映射的注解,可用在类或方法上,用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。
@Autowired
它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作。通过@Autowired的使用来清除set,get方法。
@PathVariable
用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出url模板中的变量作为参数。
@RequestParam
主要用于在SpringMVC后台控制器获取参数。
@RequestHeader
可以吧Request请求header部分的值绑定到方法的参数上。
3
@ModelAttribute
该Controller的所有方法在调用前,先执行此@ModelAttribute方法,可用于注解和方法参数中,可以把这个@ModelAttribute特性,应用在BaseController当中,所有的Controller继承BaseController,即可实现在调用Controller时,先执行@ModelAttribute方法。
@SessionAttribute
将值放在session作用域中,写在类上。
@Valid
实体数据的校验,可以结合hibernate,validator一起使用。
@CookieValue
用来获取Cookie中的值。