Spring常用注解
bean注入与装配的方式有很多种,可以通过xml、get、set方式,构造函数或者注解等。常用的注解如下。
优点:IOC容器是Spring中的特色之一,管理很多Bean。要求这些bean都配置在applicationContext.xml文件中,用了注解以后,就不需要再xml文件中配置了,Spring提供了几个辅助类会自动扫描和装配这些Bean,所以使用注解能大大减少xml文件的体积。Spring启动时会根据配置去扫描某些包里的类,得到类或方法上的注解。不同的注解会进行不同的操作。
是一种分散式的元数据,与源代码耦合,(XML是集中式,与源代码解耦)
1.
@Controller:
1.用于标注控制层组件。
2.@Controller用于标记在一个类上,使用它的类就是一个SpringMVC Controller对象。
3.分发处理器将会扫描使用了该注解类的方法,并检测该方法是否使用了@RequestMapping注解。
4.可以把Request请求的head部分的值绑定到方法的参数上。、
@RestController
相当于@Controller和@ResponseBody的组合效果。
@Component
泛指组件,当组件不好归类的时候,可以使用这个注解进行标注。
@Repository
用于注解dao层,在daoimpl类上面注解。
@ServiceR
用于标注业务层组件
2.
@ResponseBody
1.异步请求。
2.该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
3.返回的数据不是html标签的页面,而是其他某种格式的数据时(json、xml等)使用。
@RequestMapping
1.一个用来处理请求地址映射的注解,可用于类或方法上,用与类上,表示类中的所有响应请求的方法都是以该地址为父路径。
@Autowired
1.它可以对类成员变量、方法及构造函数进行标注,完成自动装配的工作,通过@Autowired的使用来效除set、get方法。
@PathVariable
用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出url模板中的变量作为参数。
@RequestParam
主要用于在SpringMVC后台控制获取参数,类似一种是request.getParameter("name")s
@RequestHeader
可以把Request请求header部分的值绑定到方法的参数上。
3.
@ModelAttribute
该Controller的所有方法在调用前,先执行此@ModelAttribute方法,可用于注解和方法参数中,可以把这个@ModelAttribute特性,应用在BaseController当中,所有的Controller继承BaseController,即可实现在调用Controller时,先执行ModelAttribute方法。
@SessionAttributes
即将值放到session作用域中,写在class上面。
@Vaild
实体数据校验,可以结合hibernate vaildator一起使用
@CookieValue
用来获取Cookie中的值。