一.Spring 常用注解

1.1  组件类的注解

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

@Repository :持久层DAO的注解,用来标注持久层。

@Service :业务逻辑层的注解,注入DAO

@Controller:用于标注控制层,注入服务  

<context:component-scan base-package=”xx”> 这个xml配置会扫描以上注解配置的类,并将这些类交给Spring的容器管理。  

1.2  类中的注解

@Autowried 属于Spring 的org.springframework.beans.factory.annotation包下,可用于为类的属性、构造器、方法进行注值

@Resource 使用该annotation为目标bean指定协作者Bean。

两者的区别有:

@Autowried 注解默认按照类型装配,如果容器中包含多个同一类型的bean,那么启动容器时会报找不到指定类型的bean的异常,@Qualified注解限定bean,指定注入的bean名称。

@Resource 是通过指定的name(类名)和type(.class)去寻找依赖对象,setter方法上去属性名作为bean寻找,若找不到依赖对象则按照类型装配找。

二.SpringMvc常用注解

2.1 @Controller 表明该类会作为与前端作交互的控制层组件,通过服务接口定义的提供访问应用程序的一种行为,解释用户的输入,将其转换成一个模型然后将试图呈献给用户。

2.2 @RequestMapping 既可以作用在类级别,也可以作用在方法级别。当它定义在类级别时,标明该控制器处理所有的请求都被映射到 /favsoft 路径下。@RequestMapping中可以使用 method 属性标记其所接受的方法类型,如果不指定方法类型的话,可以使用 HTTP GET/POST 方法请求数据,但是一旦指定方法类型,就只能使用该类型获取数据。

2.3 @RestController :控制器实现了REST的API,只为服务于JSON,XML或其它自定义的类型内容,@RestController用来创建REST类型的控制器。

2.4 @ResponseBody : @ResponseBody与@RequestBody类似,它的作用是将返回类型直接输入到HTTP response body中。 @ResponseBody在输出JSON格式的数据时,会经常用到。

2.5 @RequestParam : 页面请求的参数,controller上接收使用,放在方法的形参上。