1.@Controller:

(1)在SpringMVC 的配置文件中定义MyController 的bean 对象。
(2)在SpringMVC 的配置文件中告诉Spring 该到哪里去找标记为@Controller 的Controller 控制器。

2.@RequestMapping:

RequestMapping是一个用来处理请求地址映射的注解,可用于类或方法上。用于类上,表示类中的所有响应请求的方法都是以该地址作为父路径。

3.@Resource和@Autowired


@Autowired注解是按照类型(byType)装配依赖对象,默认情况下它要求依赖对象必须存在,如果允许null值,可以设置它的required属性为false。如果我们想使用按照名称(byName)来装配
@Resource装配顺序:

如果同时指定了name和type,则从Spring上下文中找到唯一匹配的bean进行装配,找不到则抛出异常。

如果指定了name,则从上下文中查找名称(id)匹配的bean进行装配,找不到则抛出异常。

如果指定了type,则从上下文中找到类似匹配的唯一bean进行装配,找不到或是找到多个,都会抛出异常。

如果既没有指定name,又没有指定type,则自动按照byName方式进行装配;如果没有匹配,则回退为一个原始类型进行匹配,如果匹配则自动装配。

4.@ModelAttribute和 @SessionAttributes
代表的是:

该Controller的所有方法在调用前,先执行此@ModelAttribute方法,可用于注解和方法参数中,可以把这个@ModelAttribute特性,应用在BaseController当中,所有的Controller继承BaseController,即可实现在调用Controller时,先执行@ModelAttribute方法。
@SessionAttributes即将值放到session作用域中,写在class上面。

5.@PathVariable


用于将请求URL中的模板变量映射到功能处理方法的参数上,即取出uri模板中的变量作为参数。

6.@requestParam


@requestParam主要用于在SpringMVC后台控制层获取参数,类似一种是request.getParameter(“name”),它有三个常用参数:defaultValue = “0”, required = false, value = “isApp”;defaultValue 表示设置默认值,required 铜过boolean设置是否是必须要传入的参数,value 值表示接受的传入的参数类型。

7.@ResponseBody
作用:

该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。
使用时机:返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

8.@Component


相当于通用的注解,当不知道一些类归到哪个层时使用,但是不建议。

9.@Repository

用于注解dao层,在daoImpl类上面注解。

一,@Controller(肯除lei儿)
   

用法:标记于一个类上面
   
作用:用来注解这个bean(类)是MVC模型中的一个控制层,使分发处理器识别到该类,该类会被spring的auto-scan扫到纳入管理。通俗来讲被这个标注类里面的方法加上@RequestMaping(“…”),就可以直接被浏览器调用然后做一些数据逻辑处理。
   
实例解释:如果要在浏览器访问Action类中的carRun方法(本地)127.0.0.1:8080/car/carRun

二,@RequestMaping
(瑞快死)

用法:1.标记于一个被@Controller标注的类上
      
2.标记于被@Controller标注类里面的方法上面
   
作用:用法1,表示该被标注类下面所有方法的父类标注(可以理解为所有用法2“继承”用法1)@RequestMaping有六个属性value、method、consumes、produces、params、headers
   
value:指定浏览器请求的地址;
   
method:指定请求的method类型, GET、POST、PUT、DELETE等;
   
consumes:指定处理请求的提交内容类型(Content-Type),例如application/json, text/html;
   produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回;
   params:指定request中必须包含某些参数值是,才让该方法处理;
   
headers:指定request中必须包含某些指定的header值,才能让该方法处理请求;
   实例解释:如果要在浏览器访问Action类中的carRun方法,只需要本地域名+端口号+该标注所定义的value值即可(127.0.0.1:8080/car/carRun)  
   @RequestMaping常用的记住value和method,

三,@Service
   

用法:用于标注业务层组件(Service层)上
   
作用:标注于业务层组件上表示定义一个bean,自动根据所标注的组件名称实例化一个首字母为小写的bean。
实例解释:IocCarService类被标注为一个bean,bean名称为iocCarService,此时该类已经被spring纳入管理中,待使用

四,@Resource(瑞sao斯)
   

用法:标注于字段上或者setter方法上,@Resource默认按ByName进行自动装配
   
作用:用来自动装配Bean,激活一个命名资源的依赖注入。@Resource属性name可以定义被自动装配Bean的名称
   
实例解释:在IocCarService类中IIocCarDao 的实现类已经被@Repository标注为一个被Spring管理的Bean,此时需要用到它的时候只需要在属性名称上标注@Resource用户自动装配就可以了。

五,@Autowired(奥特为儿)

该注解和@Resource的用法和作用基本一致。


六,@Repository(瑞泡死特瑞)
   

用法:用户标注数据访问层组件(Dao层)
   
作用:实现Dao访问;将类识别为Bean,同时它将所标注的类中抛出的数据访问异常封装为 Spring 的数据访问异常类型。
   
实例解释:Dao层实现类IIocCarDaoImpl 被Spring装载为bean纳入管理中,bean名称为iIocCarDaoImpl。 同时它将所标注的类中抛出的数据访问异常封装为 Spring 的数据访问异常类型。


七,@Component(抗抛嫩特)

用法:泛指组件,当组件不好归类的时候,我们可以使用这个注解进行标注。

作用:和前面@Service、@Repository、@Controller一样,只是它们比@Component更巨细化。