配置文件和动态绑定数据库(中)
1.先运行EnvironmentAware接口去获取配置文件属性
之前看到配置文件 reach.datasource.name 是foundation,general,ids
读取到字符串用 逗号分隔
这里我就不深究environment.getProperty
springboot获取配置资源,主要分3种方式:@Value、 @ConfigurationProperties、Enviroment对象直接调用。
前2种底层实现原理,都是通过第三种方式实现。
遍历这些数据库名字取读取配置
进入PropertyUtil.load 方法中,看看这个工具类
这个工具类反射读取,要参照我之前发布博客连接地址: Spring Boot中的Binder类基本使用和工具封装 ,
看处理后数据格式,最终放在dataSourceProperty中(方便在注册数据源bean时候拿到数据),里面三个属性,分别foundation,general,ids,值为对应配置文件,但是不知为啥多了好多,可能默认配置吧
2.再运行ImportBeanDefinitionRegistrar接口去动态注入数据源
读取注解信息,先放入自己框架类ReachDataSourceRepository中
然后调用registy.registerBeanDefinition来注入bean
下一篇就是在注册bean时候设置属性 setPropertyValues(this.init(property)),可以不看