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

相关推荐
yaoxin5211238 小时前
507. Java 反射 - 在 BeanFactory 中实现依赖注入
java·开发语言
OPEN-F8 小时前
C++模板教程:变参模板、折叠表达式与SFINAE
java·开发语言·c++
2601_962072219 小时前
SpringMVC进阶(自定义拦截器以及异常处理)
java
2601_9620738110 小时前
Spring全面详解(基础版)
java·后端·spring
IT_陈寒10 小时前
Vite打包时的静态资源坑,我帮你踩过了
前端·人工智能·后端
考虑考虑10 小时前
kubectl命令
运维·后端·自动化运维
第五页的你10 小时前
ElasticSearch结合本地消息表实现搜索功能
后端
谢亮_vipxieliang11 小时前
ValidX分组验证详解:不同场景使用不同验证规则
java·spring boot·后端·spring cloud·eclipse·hibernate
超兔一体云11 小时前
MySQL索引优化实战——从慢查询到索引调优
后端·mysql
wuminyu11 小时前
深入剖析 Panama Off-heap 的性能损耗与开销
java·linux·c语言·jvm·c++