当用@Component注释一个类时,这是否意味着它是一个Spring Bean和Singleton?

对Spring来说是相当新的我有一个关于注释类的问题。 当用@Component注解一个类时,这是否意味着这个类将是一个Spring Bean,默认情况下是一个singleton?

对,那是正确的。

如果该类属于服务层,则可能需要使用@Service对其进行注释

但是请记住,为了检测这些注释,您需要将此行放在applicationContext.xml

 <context:component-scan base-package="com.yourcompany" /> 

关于singletons – 默认情况下,spring bean都是单身作用域。 你必须记住的唯一的事情是你不应该在状态variables中存储状态(它们只应该保持依赖关系)。 因此,您的应用程序将是线程安全的,并且您不会每次都需要一个bean的新实例。 换句话说,你的豆子是无国界的。

默认 – 是的。

但是,您可以使用@Scope注释来覆盖此行为。 例如: @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)