@AutoConfigurationPackage和@ComponentScan的作用有什么区别?

发布于 2022-09-12 13:34:16 字数 442 浏览 11 评论 0

是关于@SpringBootApplication注解的一点疑惑,该注解的大致构成如下:image.png

其中@ComponentScan都知道是用于扫描主启动类路径及其子路径下的类,而@EnableAutoConfiguration中又有两个注解,其中@Import(AutoConfigurationImportSelector.class)是自动装载的关键,但我不知道另一个@AutoConfigurationPackage是干什么用的。
我在网上搜索看了很多文章都说@AutoConfigurationPackage的作用是在SpringBoot应用启动时默认会将启动类所在的package作为自动配置的package,但这件事不是@ComponentScan干的吗?难道@SpringBootApplication中这两个注解干的是同一件事?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

深爱不及久伴 2022-09-19 13:34:16

@ComponentScan 是指定package,可以指定多个。

陌若浮生 2022-09-19 13:34:16

@AutoConfigurationPackage 是为了给组件开发者使用的,组件开发者在一个路径下面有多个自动配置的类想加载,这个注解就不用对每个类单独添加 @Import 了,直接引入包路径更方便。

@ComponentScan 使用组件的开发者准备的,方便你对包路径进行自定义,比如你的一些 Bean 跟 SpringBootApplication 不在一个路径下面,或者多个不同路径下面,这个就起到作用了。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文