gpt4 book ai didi

java - 我们什么时候应该在 Spring 中使用@Component?

转载 作者:搜寻专家 更新时间:2023-11-01 02:35:27 25 4
gpt4 key购买 nike

从软件设计的角度来看,我们什么时候应该使用 @Component 而不是传统的 Java 类(需要通过“new”显式实例化)?例如,如果我们需要创建一个具有以下模式之一的类:

  • 适配器

  • 桥梁

  • 外观

  • 策略

  • 翻译

该类是否应该具有@Component注解(或任何Spring派生注解,例如@Repository/@Controller/@服务)?

最佳答案

Spring 应用了控制反转原则,该原则深入到框架为您处理事情,因此您不必担心。

通过在类上使用@Component,让Spring 为您创建一个bean。这样,Spring 就可以在您需要时在运行时注入(inject)这个 bean。 (例如通过 Autowiring 你的构造函数)。

是否要为您的类(class)使用此功能由您决定。例如,外观很可能是一个 Spring 组件,这样您就可以在运行时注入(inject)通过外观公开的 API 实现,而无需考虑依赖注入(inject)实现。
例如,我不建议在 DTO 或模型类上使用此注释。这些类主要由数据组成,不适合由 Spring 管理的需要。

其他有趣的相关问题可以帮助您决定何时创建组件:
What's the difference between @Component, @Repository & @Service annotations in Spring?

Spring: @Component versus @Bean

关于java - 我们什么时候应该在 Spring 中使用@Component?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55796139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com