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

相关推荐
captain3762 小时前
MyBatis(入门5)其他查询操作
java·数据库·spring boot·mybatis
Novproxy_Z3 小时前
商用代理避坑:如何识别商家拿机房 IP 冒充住宅 IP
java·网络·tcp/ip
文丑颜不良啊4 小时前
LeetCode1481~1500题目解析
java·leetcode
2601_962885724 小时前
quotes 字段全解:涨跌幅、振幅、换手率的口径与单位
java·前端·spring
深蓝AI4 小时前
Python 3.13 的 Queue.shutdown:异步消费者终于能正常收工了
后端
前端精髓4 小时前
调用openrouter的免费API模型
java·前端·javascript
武子康4 小时前
MultiNet6 空闲崩溃:`EXCVADDR=0x8` 后又出现 `CORRUPT HEAP`
人工智能·后端·agent
步行cgn4 小时前
Spring MVC 拦截器 Interceptor 详解:从执行流程到实战应用
java·spring·mvc
文丑颜不良啊4 小时前
LeetCode1381~1400题目解析
java·leetcode
开开心心_Every5 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea