我的父亲文章为spring源码–refresh下的prepareRefresh详解
测试之前:
我们没实现 initPropertySources()的时候 走到validateRequiredProperties 时 属性值是这样的:
可以看见size=0;
开始测试
首先 实现initPropertySources
我们只需要 继承父类即可 我们的启动类的是
只需要自己写个类 继承 然后重写 刚刚的方法就行
创建自己的类
启动方法换成自己的:
xml也记得注入!
关于 上上图中的 getEnvironment().setRequiredProperties()方法:
点进去看:
当让也有其他的方法:
暂不演示
开始执行
启动项目前 先设置一下 环境参数:
我就直接跳到关键地方了哈
initPropertySources
validateRequiredProperties
注意关节点 这时候 size 不是0了 与开头的对比一下 就知道了
这就是 这个方法的 一个拓展 然后 会访问系统的 看看有没有这个属性 没有就直接报错
由于我提前设置好了 所以不会报错
为什么会输出两遍 我以后学会了 一定补充
给大伙展示个 没设置的 报错效果图: