在Spring2.0之前的版本中,
@Repository注解可以标记在任何的类上,
用来表明该类是用来执行与数据库相关的操作(即dao对象),
并支持自动处理数据库操作产生的异常
在Spring2.5版本中,
引入了更多的Spring类注解:@Component,@Service,@Controller。
@Component是一个通用的Spring容器管理的单例bean组件。
而@Repository, @Service, @Controller就是针对不同的使用场景所采取的特定功能化的注解组件。
(因为原生的java操作数据库所产生的异常只定义了几种,但是产生数据库异常的原因却有很多种,这样对于数据库操作的报错排查造成了一定的影响;而Spring拓展了原生的持久层异常,针对不同的产生原因有了更多的异常进行描述。所以,在注解了@Repository的类上如果数据库操作中抛出了异常,就能对其进行处理,转而抛出的是翻译后的spring专属数据库异常,方便我们对异常进行排查处理)。