【发布时间】:2019-10-23 06:32:53
【问题描述】:
在 Spring 中,我们有 @Componenet、@Repository 注释。我研究了一些东西,发现@Component 和另一个之间有以下区别。
@Repository 注释是任何满足存储库角色或原型(也称为数据访问对象或 DAO)的类的标记。
我的困惑是如果我们用
@Component替换@Repository,我们会得到任何错误(我怀疑)。如果是这样,是否有可能通过使用@Component+ 一些手动配置(我们称之为样板代码)来实现存储库的原型/功能。我问这个只是为了更好地理解这个概念。跨博客发布的第二个主要意义是,如果我们使用基于层的注释,如
@Service、@Controller、@Repository,异常处理会更好。但找不到很好的解释或例子。
【问题讨论】:
-
"如果我们用@ComponentScan 替换@Repository" 你永远不会那样做,因为
@ComponentScan与@Repository不同,@Component是。@ComponentScan注释用于定义哪些 类应扫描@Component注释类和使用类似派生注释注释的类,如@Controller、@Service和@Repository。 -
@Andreas 是的,我的意思是组件。我已经编辑了这个问题,写的时候很困惑。
-
1a) “我们是否有任何错误” 没有。--- 1b) “任何实现刻板印象/功能的可能性” 是的。 --- 2) 只有
@Repository会自动翻译异常。其他人没有。
标签: java spring spring-boot spring-mvc