1:Spring的注解分别有:

@Repository、@Srevice、@Controller、分别对应数据访问层Bean、业务层Bean、以及控制层(展示层)Bean。

2:@Repository、@Service、@Controller 和 @Component 将类标识为Bean。

3:在Spring2.0以后,Spring陆续引入了一些注解用于简化Spring的开发,其中@Repository的功能是将数据访问层(Dao层)的类识别并标注为SpringBean,具体方式为直接在DAO类上标注即可。

Spring中@Repository的作用_数据访问

 

3.1:为了让Spring能够扫描类路径中的类并识别使用注解标注的类,需要在XML配置文件中启用Bean自动扫描功能,需要通过<context:componet-scan/>实现。

Spring中@Repository的作用_封装_02

4:@Repository只能标注在DAO类上,因为该注解的作用不只是将类识别为Bean,同时它还能将所标注的类中抛出的数据访问异常封装为 Spring 的数据访问异常类型。 Spring本身提供了一个丰富的并且是与具体的数据访问技术无关的数据访问异常结构,用于封装不同的持久层框架抛出的异常,使得异常独立于底层的框架。

5: 在Spring2.5中在原先的基础上又增加了额外三个功能比较类似的注解@Component、@Service、@Constroller,它们分别用于软件系统的不同层次:

@Component 是一个泛化的概念,仅仅表示一个组件 (Bean) ,可以作用在任何层次。
@Service 通常作用在业务层,该功能与 @Component 相同。
@Constroller 通常作用在控制层,功能与 @Component 相同。