You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Spring中<context:component-scan/>是否会实例化base-package下所有Bean?

针对<context:component-scan base-package="packageA" />配置的扫描范围答疑

结论:该配置不会实例化packageA及其所有子包下的全部类,仅符合Spring扫描规则的类才会被注册为Bean并完成实例化。

需满足的核心扫描规则如下:

  • 目标类上必须标注Spring识别的构造型注解,包括@Component、@Service、@Repository、@Controller、@RestController、@Configuration,或者标注了被@Component作为元注解修饰的自定义注解。
  • 如果配置中额外加了<context:exclude-filter>规则,即使类带了上述注解,被过滤规则匹配到的也不会被实例化。
  • 如果设置了use-default-filters="false"关闭了默认的注解过滤逻辑,只有被自定义<context:include-filter>规则匹配到的类才会被扫描。
  • 类本身要符合Bean实例化的基本要求:不能是抽象类、不能是接口,必须存在可被Spring调用的构造方法(默认要求无参构造,带@Autowired注解的有参构造也可以)。

内容的提问来源于stack exchange,提问作者Ajay Sabarish

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 05:45:06