spring源码解析
IOC:缓存的地方,得把它存起来(Map容器) DI:getter、setter、constructor(反射、invoker) AOP:为了增强原始Bean的功能(代理技术)
Context是入口
定位 用的 Reader 结尾的
加载 BeanDefinition保存类信息,包括OOP关系
注册 Factroy、Context 就是把用户所定义的Bean放到IOC容器中(Map)
围绕Bean来展开 BeanFactory来创建的
reader load
do开头的都是具体干活
ClassPathXmlApplicationContext 通过main方法启动
DispatchServlet
FileSystem
Plugin
Lisenter
parseBeanDefinitions 方法实际是解析xml,把xml中的内容变成BeanDefinition
BeanDefinition 相当于是保存在内存中的配置文件,保存了所有的跟类属性相关信息 依赖注入,就是把BeanDefinition中的信息读取出来,利用反射机制,或者代理机制创建对象,新创建的对象,不会放到我们印象中的IOC容器中,它存入到另外一个cache容器
Wrapper对原生对象的包装,通过构造方法存储原始对象,放入cache的只是Wrapper
减少代码侵入,能够在原生的基础之上,再进行扩展,监听器、回调函数、标记信息
================================================================
原生 Bean: 通过反射或者代理机制创建的Bean
BeanDefinition: 静态配置文件的一个内存版本,保存了所有的OOP关系
BeanWrapper: 是原生Bean的包装,通过构造方法实现包装,真正操作的是Wrapper
FacoryBean:是Spring中最顶层接口,只要是通过工厂创建Bean,都要实现FacotryBean
相关文章
- Spring学习笔记(十四)——ssm整合mybitis的逆向工程和分页插件
- Spring Framework 源码学习笔记(四)
- logback-spring.xml配置文件(最佳实践)
- 万字长文 | Spring Cloud Alibaba组件之Nacos实战及其客户端服务注册源码解析
- Spring 5(三)AOP
- spring ioc源码解析_spring事务源码深度解析
- spring boot整合shiro_Spring框架介绍及使用
- 【11】Spring源码-分析篇-事务源码分析
- Spring+Spring MVC+MyBatis_java的图书管理系统
- mybatis3源码解析--spring下mapper注册详解
- rabbitMQ结合spring-boot使用(2).md
- Spring Security 中的 RememberMe 登录,so easy!
- 【Spring源码】- 02 Spring IoC容器启动之refresh方法
- 【Spring源码】- 10 Spring AOP核心API
- Spring Cloud Task 核心组件-Task Launcher
- Spring集成Log4J
- 如何使用Dubbo服务和集成Spring详解架构师
- spring aop详解编程语言
- Spring Boot全局支持CORS(跨源请求)的配置方法详解编程语言
- Spring里的aop实现方式和源码分析详解编程语言
- spring集成 JedisCluster 连接 redis3.0 集群详解编程语言
- 在静态方法里调用spring注入的方法详解编程语言