在依赖SDK时,SDK中的一些bean是不会自动扫描并注册到spring中的,只有在启动类上加上相应的@ComponentScan(“范围”)。但是这样会有耦合的问题,一旦SDK发生结构变化依赖方就需要调整@ComponentScan(“范围”)。
一般比较优雅的方式是在SDK中resources/META-INF/ 目录下的文件添加spring.factories配置,配置内容为
# spring.factories 的核心配置:告诉 Spring Boot 加载 B 组件的自动配置类
org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ com.eastcom.ssoclient.config.AuthComponentAutoConfiguration
其中AuthComponentAutoConfiguration类可以是这样的:
@Configuration
// 扫描B组件的根包,自动注册所有带@Component的类(包括M、N、O、P)
@ComponentScan(basePackages = "com.eastcom.bcomponent")
public class BComponentAutoConfiguration {
// 无需手动写@Bean,@ComponentScan会自动扫描并注册
}
其中ComponentScan根据需要扫描即可
2365

被折叠的 条评论
为什么被折叠?



