@SpringBootApplication注解中@ConmentScan注解的作用
时间: 2023-12-26 17:50:07 浏览: 97
springboot @ComponentScan注解原理解析
`@ComponentScan` 注解是 `Spring Framework` 中的一个注解,它的作用是扫描指定包及其子包下的所有类,将含有 `@Component` 及其派生注解的类注册为 `Spring` 容器中的 `Bean`。
`@SpringBootApplication` 是一个组合注解,包括了 `@Configuration`、`@EnableAutoConfiguration`、`@ComponentScan` 三个注解。其中 `@ComponentScan` 默认扫描启动类所在包及其子包下的所有类,因此不需要再次指定扫描包的路径。但有时我们需要指定特定的扫描路径,那么就可以使用 `@ComponentScan` 注解进行配置。
例如:
```java
@SpringBootApplication
@ComponentScan(basePackages = {"com.example.service", "com.example.controller"})
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
```
上面的代码中,我们指定了 `@ComponentScan` 注解扫描的路径为 `com.example.service` 和 `com.example.controller` 包及其子包下的所有类。这样所有含有 `@Component` 及其派生注解的类都会被注册为 `Spring` 容器中的 `Bean`。
阅读全文