Spring组件注册原理

本文深入探讨了Spring组件的注册方式,包括包扫描+组件注解、@Bean、@Import及@ImportSelector。详细介绍了@ImportSelector如何根据自定义逻辑选择性导入组件,以及ImportBeanDefinitionRegistrar手动注册Bean的过程。此外,还讨论了FactoryBean接口在注册组件中的应用及其工作原理。
摘要由CSDN通过智能技术生成

AnnotationConfigApplicationContext类 :可以通过写一个方法把这个类当做参数的形式写进去,然后查看这个类里面有什么方法使用其中一个方法拿到这个我们所注册的的Bean,并返回一个数组,这个数组里面的内容返回的是全限定类名,就是这个类所在的路径 使用definitionNames来接收。
通过forEeach来循环遍历出来的就是类的包名+类名的全限定名字。
在这里插入图片描述
在这里插入图片描述

给容器中注册组件的方式有三种:
1)、包扫描 + 组件标注注解(@Controller/@Service/@Repository/@Component)【局限于我们自己祖册的bean】
2)、@Bean【导入第三方包里面的组件】
3)、@Import【快速给容器中导入一个组件】;
①、@Import容器中就会自动注册证组件,id默认是全类名
使用方式:
在这里插入图片描述
编写一个类。然后通过@Import注解的方式把这个类写进去,并通过AnnotationConfigApplicationContext这个类获取suoyoudeIOC容器,然后答应给出来就显示了。这个组件的名就是默认的全限定类名(包的路径+类的名字)
在这里插入图片描述
②、@ImportSelector:导入的选择器,返回需要导入的组件的全类名数组
ImportSelector接口里面有一个方法,使用数组接口存储类的全限定类型名
在这里插入图片描述
Annotationmetadata&#x

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值