Spring @Component、@Repository和@Service注释之间的区别

在这个快速的文章中,我们将了解春季@Component,@Repository和@Service注释之间的区别 

介绍

在处理企业应用程序时,我们有多层或多模块架构,其中每个模块/层都有特定的角色。在基于春季的普通Web应用程序中,我们可以有以下层。

  1. 网页图层
  2. 介绍
  3. 服务
  4. 数据访问

上面的列表是简单的列表,可以根据应用程序变得复杂。每一层都定义了自己的一组弹簧豆来执行工作。弹簧启动使用类路径扫描功能来检测这些 bean 并创建/加载它们。Spring框架提供了几个我可以根据用例使用的注释。在本文中,我们将仔细研究Spring框架中@Component,@Repository和@Service注释之间的区别

在较高层面上,以下是这 3 个注释之间的区别:

注解描述
@Component任何弹簧管理组件的通用构造型
@Repository持久层的构造型
@Service服务层的构造型

这些注释之间的主要区别在于分类,但最终它们几乎是相同的,我们可以使用一个来代替另一个,并且仍然可以按照我们的方式进行。

 

1. @Component

这是Spring框架提供的通用构造型注释。此注释表明该类是弹簧管理的 bean/ 组件。

@Component
public class ApplicationConfigurations{
    ...
}

[拉引号对齐=“正常”]弹簧仅扫描而不查找 和 。发生这种情况是因为它们使用 本身注释这些其他注释。[/拉引号]@Component@Service@Repository@Component

@Component
public @interface Service {
    ….
}
@Component
public @interface Repository {
    ….
}

换句话说,我们可以说 和 是特殊类型的注释。@Service@Repository@Component

 

2. @Repository

此注释将弹簧豆分类为数据存储库。注释还会捕获特定于平台的异常,并重新抛出它们 特定于 Spring 的未选中异常。Spring提供了持久性例外翻译后处理器,类来处理这个问题。@Repository

org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor

此 Bean 后处理器将顾问程序添加到任何用 注释的 Bean 中。@Repository

 

3. @Service

用注释注释的 Java 类表明 Bean 是保存业务逻辑的服务层的一部分。此注释仅将 Bean 分类为服务级别 bean,并且没有像@Repository那样进行其他处理。@Service

 

总结

在这篇简短的文章中,我们看到了春季@Component,@Repository和@Service注释之间的区别。我们讨论了每个注释以及我们应该使用这些注释的区域。最后,这些注记几乎相似,几乎没有其他功能,但它们可以帮助我们对Bean进行分类,并且根据图层约定选择注记总是更好。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值