Spring @ComponentScan 教程显示了如何在 Spring 应用中启用组件扫描。 通过组件扫描,可以通过 Spring 容器自动检测咖啡豆。
Spring 是用于创建企业应用的流行 Java 应用框架。
Spring @ComponentScan
@ComponentScan
注释启用 Spring 中的组件扫描。 Spring 会自动检测以@Component
,@Configuration
和@Service
等构造型修饰的 Java 类。 使用@ComponentScan's
basePackages
属性指定应扫描哪些包装中的装饰豆。
@ComponentScan
注释是<context:component-scan>
XML 标签的替代方法。
Spring @ComponentScan
示例
该应用允许使用@ComponentScan
进行组件扫描。 我们有一个返回当前时间的服务 bean。
这是项目结构。
pom.xml
在pom.xml
文件中,我们具有基本的 Spring 依赖项spring-core
,spring-context
和日志记录logback-classic
依赖项。
exec-maven-plugin
用于在命令行上从 Maven 执行 Spring 应用。
resources/logback.xml
logback.xml
是 Logback 日志库的配置文件。
com/zetcode/service/TimeService.java
TimeService
类带有@Service
注解。 Spring 在组件扫描的帮助下将其注册为托管 Bean。
com/zetcode/Application.java
该应用带有@ComponentScan
注释。 basePackages
选项告诉 Spring 在com/zetcode
包及其子包中查找组件。
AnnotationConfigApplicationContext
是 Spring 独立应用上下文。 它接受带注释的Application
作为输入; 因此启用了扫描。
我们获取注册的服务 bean 并调用其方法。
我们运行该应用。
在本教程中,我们使用@ComponentScan
启用了组件扫描。