栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

Java Spring中的@ Component,@ Repository和@Service批注有什么区别?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Java Spring中的@ Component,@ Repository和@Service批注有什么区别?

从Spring文档:

在Spring 2.0和更高版本中,

@Repository
注释是满足存储库角色或构造型(也称为数据访问对象或DAO)的任何类的标记。该标记的用途包括自动翻译例外。

Spring 2.5中引入了进一步典型化注解:

@Component, @Service
,和
@Controller
@Component
是任何Spring托管组件的通用构造型。
@Repository,@Service和@Controller
分别是
@Component
针对特定用例的专业化,例如分别在持久性,服务和表示层。

因此,你可以用你的注解组件类

@Component
,但如果用注解它们
@Repository,@Service
或者
@Controller
,你的类能更好地适合于通过工具处理,或与切面进行关联。例如,这些构造型注释成为切入点的理想目标。

因此,如果你在使用

@Component
还是
@Service
在服务层之间进行选择,
@Service
显然是更好的选择。同样,如上所述,
@Repository
在持久层中已经支持作为自动异常转换的标记。

┌────────────┬─────────────────────────────────────────────────────┐│ Annotation │ Meaning │├────────────┼─────────────────────────────────────────────────────┤│ @Component │ generic stereotype for any Spring-managed component ││ @Repository│ stereotype for persistence layer         ││ @Service   │ stereotype for service layer  ││ @Controller│ stereotype for presentation layer (spring-mvc)      │└────────────┴─────────────────────────────────────────────────────┘


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/380183.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号