首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >SpringBoot如何引入到其他依赖中的Bean

SpringBoot如何引入到其他依赖中的Bean

原创
作者头像
用户10865967
发布2024-04-19 19:25:37
发布2024-04-19 19:25:37
7290
举报

一、需求

一个系统分模块开发,并且通过Main模块引入其他模块来整合功能,如何在Main模块中加载其他模块所定义的Bean。

二、解决方案

有两种解决方案,一种是通过扫描的方式引入其他依赖中的Bean,另外一种是通过SpringBoot提供的SPI扩展来引入其他依赖中的Bean。

1. 通过扫描的方式引入其他依赖中的Bean

如果其他模块中的类所在的包路径是Main模块的包或者子包,则可以直接引入。因为Spring的扫描的路径为classpath*:<包路径转换后的目录>/**/*.class,其中classpath*表明Spring不仅会扫描Main模块的类路径,还会扫描依赖的jar包的类路径。

如果其他模块中的类所在的包路径不是Main模块的包或者子包,可以通过设置ComponentScan注解中的value属性为所要引入的包即可。

2. 通过SpringBoot提供的SPI扩展的方式引入其他依赖中的Bean

SpringBoot提供了SPI扩展的方式引入其他依赖中的Bean,即自动装配,SpringBoot2.7以前可以通过配置META-INF/spring.factories文件,

SpringBoot2.7以后可以通过配置/META/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports文件,不过SpringBoot2.7以后为了兼容以前的版本习惯,依然可以配置META-INF/spring.factories。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、需求
  • 二、解决方案
    • 1. 通过扫描的方式引入其他依赖中的Bean
    • 2. 通过SpringBoot提供的SPI扩展的方式引入其他依赖中的Bean
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档