Spring 3中@Component和@Configuration之间的区别

我遇到了Spring 3提供的两个注释(@Component和@Configuration),我对它们之间有些困惑。

这是我读到的有关@Component的内容

将此“ context:component”放入bean配置文件中,这意味着在Spring中启用自动扫描功能。基本包指示组件的存储位置,Spring将扫描此文件夹并找出Bean(用@Component注释)并将其注册在Spring容器中。

所以我想知道@Configuration的用途是什么,然后@Controller是否将注册我的bean而不需要在spring配置xml文件中声明它们

回答:

@Configuration 是Spring 3中引入的基于Java的配置机制的核心。它提供了基于XML的配置的替代方法。

因此以下两个片段是相同的:

<beans ...>

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

... other configuration ...

</beans>

和:

@Configuration

@ComponentScan(basePackages = "my.base.package")

public class RootConfig {

... other configuration ...

}

在这两种情况下,Spring都会在内部my.base.package和下方扫描以注释的类,@Component或以元注释的其他注释之一,@Component例如@Service

以上是 Spring 3中@Component和@Configuration之间的区别 的全部内容, 来源链接: utcz.com/qa/432032.html

回到顶部