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注册条件

相关推荐
MgArcher8 小时前
一个下划线表示“别动”,两个下划线表示“真别动”!Python属性访问控制,看懂这篇就够了
后端
ltl8 小时前
【大模型基础设施工程】19:Agent 框架工程
后端
小雅痞8 小时前
[Java][Leetcode middle] 15. 三数之和
java·算法·leetcode
苍煜8 小时前
Java自定义注解-SpringBoot实战
java·开发语言·spring boot
Leinwin8 小时前
Claude 四月宕机七次:从一次事故看企业级 AI 部署的容灾设计
后端·python·flask
XS0301068 小时前
Java ArrayList
java·开发语言
是希燃亚8 小时前
hermes迁移手册,将hermes迁移到不同服务器~
后端·github
凯尔萨厮8 小时前
Springboot2.x+JSP项目创建
java·数据库
钝挫力PROGRAMER8 小时前
贫血模型的改进
java·开发语言·设计模式·架构
山水洛行8 小时前
切实有效的RAG文本分块:语义分割、上下文重叠与评估驱动调优
后端