微服务专题学习02-springboot自动装配

springboot自动装配

微服务专题学习02-springboot自动装配
给我们装配了什么东西?
装配了一系列的自动装配类
怎么自动装配
@Import ImportSelector接口实例方式去读取spring.property存入bean自定义的集合

java类中配置了@Configuration等同于以前的bean.xml

bean的定义
BeanDefinition
BeanDefinition接口是Spring对bean的抽象。
BeanDefinition相当于图纸,把图纸保存到集合中,后面需要使用对象的时候根据图纸组装生成实例
微服务专题学习02-springboot自动装配
spring给我们一个机会在bean还没实例化可以修改我们的bean定义的属性
BeanFactoryPostProcessor
bean工厂的bean属性处理容器,说通俗一些就是可以管理我们的bean工厂内所有的beandefinition(未实例化)数据,可以随心所欲的修改属性。

导入bean定义三种方法
微服务专题学习02-springboot自动装配

1.使用@Import + ImportBeanDefinitionRegister注册BeanDefinition
2、组件注册[email protected]使用ImportBeanDefinitionRegistrar
3、@Import ImportSelector接口实例,可以批量加载

微服务专题学习02-springboot自动装配
上图是写死包名,实际中自动读取spring.property装配

自动装配源码

微服务专题学习02-springboot自动装配
微服务专题学习02-springboot自动装配
微服务专题学习02-springboot自动装配

写一个启动器的步骤
1、写一个config自动配置工程
1.1 写所有的组件代码
1.2resource目录下面创建META-INF下面是spring.propertys, 把该工程的自动装配类全类名写好
1.3打成普通的jar包,安装到本地
2、写一个自己的start工程 pom依赖config配置工程
打成普通jar包安装到本地