Spring Boot--Bean的扫描和注册

1.Bean扫描

**注意:**Spring Boot是默认扫描启动类所在的包及其子包,如果包不在所在类的包里面,可以手动使用@ComponentScan添加要扫描的包,建议还是放在启动类的包里面。

2.Bean注册

如果要注册的Bean对象来自于第三方(不是自定义的),是无法用的@Component及衍生注解声明bean的

①@Bean

如果要注册第三方Bean,建议在配置类中集中注册

@Bean:要是想要通过名字去获取对象,默认的就是方法名,如果你想要修改名字,直接@Bean("XXX")然后就可以了。如果方法的内部需要使用到IOC容器中已经存在的Bean对象,那么需要在方法上声明即可,Spring会自动注入的

@Configuration:标明这个类是一个配置类

②@import

1.导入配置类

2.导入ImportSelector接口实现类

让一个类实现ImportSelector,然后在里面重写他的方法,在方法里面编写你要注册的全类名,在启动类里就要导入实现ImportSelector类的文件名.class了

实际开发中,你要注册的全类名应该写在一个配置文件里,然后去读取配置文件,就行下图中的一样

3.@EnableXxx注解,封装@Import注解

3.Bean注册条件

相关推荐
葫芦和十三1 小时前
图解 MongoDB 23|两地三中心:跨可用区部署怎么扛机房故障
后端·mongodb·agent
勇哥java实战分享3 小时前
PaddleOCR 太慢?我换成 RapidOCR 后,速度直接起飞
后端
苏三说技术7 小时前
LangChain4j 和 LangGraph4j,哪个更好?
后端
ServBay8 小时前
7 个AI开发中真正用得上的 MCP Server,配合Claude Code食用效果更佳
后端·claude·mcp
妙码生花8 小时前
从 PHP 到 AI + Golang,程序员自救转型手记(十五):优化细节、网络请求封装
前端·后端·ai编程
用户6757049885029 小时前
Go 语言里判断字符串为空,90% 的人都写错了!
后端·go
Flittly9 小时前
【AgentScope Java新手村系列】(16)从RAG到多路检索
java·spring boot·spring
用户6757049885029 小时前
Go 进阶必修:90% 的人都没用对的“表驱动法”
后端·go
小兔崽子去哪了9 小时前
Java 生成二维码解决方案
java·后端