【发布时间】:2019-04-23 08:57:39
【问题描述】:
从软件设计的角度来看,我们什么时候应该使用@Component 而不是传统的Java 类(需要通过'new' 显式实例化)?例如,如果我们需要创建一个属于以下模式之一的类:
适配器
桥
立面
策略
译者
该类是否应该具有@Component 注释(或任何Spring 派生注释,例如@Repository/@Controller/@Service)?
【问题讨论】:
-
当某个其他类依赖于标记的类时,将一个类标记为@Component(或派生类)。它允许 Spring 连接依赖项。
-
当你希望它是一个 Spring bean 时应该注解,这样它就可以被注入到其他 Spring bean 中,并且有其他 Spring bean 注入它。该类是适配器还是桥接器或其他任何东西都无关紧要。
标签: java spring architecture