使用注释@SpringBootApplication进行配置

2022-09-01 06:20:57

我的弹簧引导配置有问题。

我使用 https://start.spring.io/ 创建了基本的Spring Boot项目

我有一个问题,配置仅适用于子目录中的类:

enter image description here

我尝试过注释@ComponentScan但没有帮助。

你知道我能用这个做什么吗?


答案 1

@SpringBootApplication状态的 Spring Boot 文档

许多 Spring Boot 开发人员总是用 、 和 来注释他们的主类。由于这些注释经常一起使用(特别是如果您遵循上述最佳实践),Spring Boot提供了一种方便的替代方案。@Configuration@EnableAutoConfiguration@ComponentScan@SpringBootApplication

@SpringBootApplication注释等效于使用@Configuration@EnableAutoConfiguration@ComponentScan及其默认属性:[...]

其中,@ComponentScan javadoc 状态

如果未定义特定包,则将从声明此批注的类的包进行扫描。

也就是说,仅扫描与您的包裹位于同一包装中的类型。ReadingListApplication

如果需要自定义配置,请根据需要提供自己的 、 和 。@Configuration@EnableAutoConfiguration@ComponentScan


答案 2

查看弹簧文档:

http://docs.spring.io/spring-boot/docs/current/api/org/springframework/boot/autoconfigure/SpringBootApplication.html

您可以使用@SpringBootApplication覆盖组件扫描的默认值。您只需要将其作为参数包含:

@SpringBootApplication(scanBasePackages = "entertainment")

或字符串数组:

@SpringBootApplication(scanBasePackages = {"entertainment", "readinglist"})


推荐