@Component 和 @ComponentScan
时间: 2024-07-15 19:00:57 浏览: 81
`@Component`和`@ComponentScan`是Spring框架中的两个重要注解,用于管理组件和自动扫描组件。
1. **@Component**: 这个注解用于标记一个Java类为Spring容器中的一个组件(bean)。当Spring应用上下文启动时,它会自动检测并注册带有`@Component`注解的类。Spring容器会将这些类转换成bean实例,并在需要的时候进行依赖注入。例如:
```java
@Component
public class MyService {
// ...
}
```
在这个例子中,`MyService`类就是一个Spring的bean。
2. **@ComponentScan**: 这个注解用于指定一个包或一组包,Spring应该在这个范围内搜索带有`@Component`、`@Service`、`@Repository`或`@Controller`等其他Spring元注解的类。这意味着你可以不用手动指定每个bean,Spring会自动扫描这些包来发现并初始化它们。例如:
```java
@Configuration
@ComponentScan("com.example.components")
public class AppConfig {
// ...
}
```
这里,`AppConfig`上的`@ComponentScan`指定了要扫描的包名`com.example.components`。
阅读全文