--- spring 自动装配 ---

Spring Boot 的组件扫描机制默认会以 @SpringBootApplication 注解标记的类作为起点,递归扫描当前包及其子包下所有含有 Spring 管理注解(如 @Component、@Service 等)的类,并将它们注册到 IOC 容器中。这样,在程序的其他地方便可以通过 @Autowired 等注解进行依赖注入。

但这种机制也带来一个常见问题:如果要注入的类并不在 @SpringBootApplication 所在包的扫描路径下------例如一个完全独立的第三方类或位于其他模块中的类------Spring 在启动时就不会将其纳入容器管理。此时如果尝试自动注入,便会抛出 NoSuchBeanDefinitionException 异常,提示找不到对应的 Bean。

spring为了解决这个问题,提供了三种方法来将外部的类加载到spring ioc容器中

@ComponentScan() 指定扫描路径

复制代码
@ComponentScan("com.hadage")  

@Import() 单独指定要管理的具体类

复制代码
@Import(ValidationTest.class)

以上方法也都需要在项目总修改源码,而且可读性也比较差,毕竟代码一多看着就头大了

而还有一个更加通用的方法

在resource中添加META-INF.spring包,这个包下创建名字为org.springframework.boot.autoconfigure. AutoConfiguration.imports的文件,在这个文件中加入需要管理的类的路径

复制代码
com.bitejiuyeke.bitecommonsecurity.handler.GlobalExceptionHandler

包的具体

相关推荐
fundoit15 小时前
为什么需要 Access Token 和 ID Token 两个令牌
java·spring·架构·github·oauth2
鱼宵15 小时前
Spring AI 流式输出:Flux + SSE 打字机,回答不再干等三秒
java·人工智能·spring·sse·springai·流式输出
小鹿的周先生16 小时前
第19章-Agent
java·spring·ai
步行cgn17 小时前
MySQL 报错:Access denied for user ‘root‘@‘localhost‘ 详解
java·数据库·spring
鱼宵18 小时前
Spring AI 生产化改造:记忆落 Redis、向量落 ES,重启再也不丢
人工智能·redis·spring·elasticsearch·springai
Wang's Blog19 小时前
Java框架 SpringCloud 快速入门: Nacos 配置热更新
java·spring·spring cloud
天空鸟_时光不老20 小时前
06-给AI流程加一道人工闸门
java·人工智能·spring boot·后端·spring·spring cloud·架构
阿俊-全栈开发20 小时前
LikeShop单商户Java商城如何从容承接高并发流量?
java·开发语言·spring boot·spring·系统架构
天空鸟_时光不老20 小时前
01-我不转Python把AI塞进Java里
java·人工智能·spring boot·后端·spring·spring cloud·架构
桃西西呀20 小时前
Spring AI Alibaba 之四:拆开 ReactAgent 的图,看 ReAct 循环怎么拼出来
人工智能·spring·llm