Springboot中@ComponentScan 注解

本文主要介绍了SpringBoot中Application类的位置及其对组件扫描的影响,如何配置第三方jar包中的注解以便于SpringBoot启动时能够正确识别,以及为什么建议第三方包避免使用注解的原因。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

三个点:

1、工程中Application类的位置。默认情况下就不需要配置@ComponentScan这个注解了。 因为Application类,在启动的时候,默认是加载和Application类所在同一个目录下的所有类,包括所有子目录下的类。所以一般情况下,启动类的位置是
有特殊要求的。
这里写图片描述

如上图所示,Application.java 类在com.pa.market包下,所以它自动扫描同级目录market下的所有类。

2、假设写的模块,编译成了jar包,并且上传到了私服。在pom中以第三方包的形式依赖进来。
如果jar包中也存在注解,为了spring boot启动的时候,注解可以被扫描到,需要做的就是
在spring boot启动类中配置上 @ComponentScan注解,并且指定第三方jar包的根路径。
所以一般情况下,公司级的第三包前面的路径名最好一直。比方说 com.pa 这样就不会出现遗漏的情况。

3、还有一个说法是,第三方包中最好不要使用注解,因为注解会带来调用者使用不方便,需要配置扫描注解等。如果遗漏指定包扫描路径,那么就会出bean加载失败的情况。所以我们看到的最基础的第三方jar包,几乎是没有注解的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值