spring源码学习1
2020-11-15 16:00:06 35 举报
Spring源码学习
作者其他创作
大纲/内容
BeanDefinitionReader
System.getProperties()
给属性设置值
设计模式
JVM
初始化
getObjectType
填充属性
反射
BeanFactoryPostProcessor
后置处理器曾强器
json
执行init-mthod方法
FactoryBean
Environment
在不同的阶段处理不通的工作,应该怎么办?观察者模式:监听器,监听事件,多播器
创建对象
定义规范,方便扩展
在容器创建过程中需要动态的改变bean的信息怎么办<property name=url value=${jdbc.url}>如果想随时修改beanDefinition怎么办?
普通对象
BeanPostProcessor.before
数据结构算法
BeanDefinition
BeanPostProcessor
init-method
Constructor ctor=Class.getConstructor();Object obj=ctor.newInstance();
Class.forName(\"完全限定名\")
修改beanDefinition信息
多线程
对属性的属性值都是默认值
在堆中开辟一块内存空间
getObject
properties
xml
context.getBean()
实例化
BeanPostProcessor.after
aware接口是什么当Spring容器创建的对象在进行具体操作的时候,如果需要容器的其他对象,此时可以将对象实现aware接口来满足当前的需要
储备基础知识
aware
StandardEnvironment
完整对象
isSingleton
yml
关键接口
Class
对象.getClass()
BeanFactoryBean工程,整个容器的跟接口,也是容器的入口Constructor ctor=Class.getConstructor();Object obj=ctor.newInstance();
System.getEnv()
容器对象
BeanFactory
看注意事项1:不要专注细节2:看注释(接口,类,方法)3:见名知意4:大胆猜测,小心验证5:画图(时序图,结构图,总结图)6:坚持
beanFactory和factoryBean的区别?都是用来创建对象的当使用BeanFactory的时候,必须要遵循完整的创建过程,这个过程是由spring来管理的而使用FactoryBean只需要调用getObject就可以返回具体的对象,这个对象的创建过程由用户自己来控制,更加灵活
类名.class()
beanDefication
内置对象Spring需要的对象
我们自定义的对象
SpringBean
执行初始化方法
PostProcessor
设置Aware接口的属性
IOC容器
收藏
0 条评论
下一页