spring源码框架
1.bean定义来源:从xml读取,从注解读取,抽象出接口:BeanDefinationReader
2.bean容器:读取到bean的定义后,实例化bean,把bean信息存放到容器
通过如下代码进行实例化
Class<?> type = field.getType();
Object o = type.getConstructor().newInstance();
3.实例化以后不会直接放进容器,可以对实例化的bean进行增强
接口:BeanPostProccessor
4.创建对象:工厂模式,抽象出工厂接口:BeanFactory,不同的实现去创建对象,bean工厂
高内聚,低耦合,扩展性
5.对对象进行增加:
6.BeanFactoryPostProccessor接口:创建完工厂之后,对工厂对象进行修改
7.设计模式:变化的抽接口,相同的抽模板,扩展性:每个节点抽接口,在不同的时间点,干不同的事情,在容器的不同阶段干点事
8.观察者模式,创建完对象之后调用观察者方法,去干一些事情
9.FactoryBean:工厂bean,,FactoryBean.getObject():生产某种对象的工厂实例
10.Enviroment:环境 xxx.properties,xxx.yaml,System.properties
spring源码框架相关推荐
- Spring源码之Spring的大体框架
Spring源码(一)----了解Spring的大体框架 Spring的源码数量特别多,在我下载了Spring FrameWork源码后,发现有些无从学起,那么就一步一步来,先不管其他,先了解一下Sp ...
- Spring 源码分析 (一)——迈向 Spring 之路
一切都是从 Bean 开始的 在 1996 年,Java 还只是一个新兴的.初出茅庐的编程语言.人们之所以关注她仅仅是因为,可以使用 Java 的 Applet 来开发 Web 应用.但这些开发者很快 ...
- spring根据名称获取bean_带你从零开始手写 spring ioc 框架,深入学习 spring 源码
IoC Ioc 是一款 spring ioc 核心功能简化实现版本,便于学习和理解原理. 创作目的 使用 spring 很长时间,对于 spring 使用非常频繁,实际上对于源码一直没有静下心来学习过 ...
- 打怪上分! 手写Spring ioc 框架,狠狠的“撸撸”Spring 源码
估计很多朋友使用 spring 很长时间,对于 spring 使用非常频繁,实际上对于源码一直没有静下心来学习过. 你是不是有这样的感觉呢? 但是 spring 源码存在一个问题,那就是过于抽象,导致 ...
- Spring源码分析【0】-框架的基础:继承和接口调用链
Spring源码大量的使用继承和接口调用,现举个例子,不搞清楚这个无法看代码. public class A extends B{public void f1() {System.out.printl ...
- 想读Spring源码?先从这篇「 极简教程」开始
来自:Java中文社群 为什么要阅读源码?这是一个有趣的问题,类似的问题还有,为什么要看书?为什么要爬山? 这也是一个哲学问题,我想每个人都有不同的答案,下面我是对阅读源码好处的一些思考.(PS:也欢 ...
- 『互联网架构』软件架构-spring源码之spring结构概述
spring从07年接触到目前2018年也差不多10年了,一个java的框架为什么能火这么多年.很多人对spring的使用轻车熟路,但是从未解读过spring的源码,老铁跟我一起看看源码,了解下内部的 ...
- Spring源码剖析——Bean的配置与启动
IOC介绍 相信大多数人在学习Spring时 IOC 和 Bean 算得上是最常听到的两个名词,IOC在学习Spring当中出现频率如此之高必然有其原因.如果我们做一个比喻的话,把Bean说成Sp ...
- 我该如何学习spring源码以及解析bean定义的注册
如何学习spring源码 前言 本文属于spring源码解析的系列文章之一,文章主要是介绍如何学习spring的源码,希望能够最大限度的帮助到有需要的人.文章总体难度不大,但比较繁重,学习时一定要耐住 ...
最新文章
- 配置Yarn-Resourcemanager HA
- LeetCode 86分割链表87扰乱字符串
- vSphere Data Protection 6.1.2部署与配置
- exchange2010使用通配符造成的不停的需要输入密码却访问不了
- zookeeper 源码阅读(1)
- UI5 Control lazy load mechanism
- 袁桂英(帮别人名字作诗)
- matlab 0x1表示什么意思,(x ^ 0x1)!= 0是什么意思?(What does (x ^ 0x1) != 0 mean?)
- 利用Shell将MySQL数据表导出为csv文件
- JAVA自学作业02
- Linux之——udp端口测试连接
- Audacious实现cue、ape音乐支持,GBK支持、cue乱码完美解决
- 深度点击率预估模型的One-Epoch过拟合现象剖析
- goodnote笔记同步 Android,goodnotes笔记
- 网页加载过程+性能优化+安全
- python三国演义人物出场_Python教你查询《三国演义》书籍人物出场次序
- 麻雀虽小五脏俱全--一个小项目的总结
- 江苏科技大学计算机学院院长高尚,江苏科技大学计算机科学与工程学院导师介绍...
- 基于沉积学教材的自顶向下的概念抽取(以沉积相为例为例)
- YTU 问题 : 逆序数字排序
热门文章
- 初识人工智能身份证识别身份证号码
- Windows10下Node版本管理与随意切换
- 个人信息保护建设面临的问题和困境及解决方案
- Win10-21H1自动安装IP1180打印机失败的解决办法
- java owc_使用微软OWC中做为联机分析系统前端展示工具
- 五个常用计算机应用软件6,信息技术应用--常用计算机工具软件5常用工具软件单元五.pdf...
- 小米上市之后,雷军的下一个千亿业务在哪?
- jQuery ajax bootstrap layui
- Vue3 中的 CSS 功能
- 金山打字通屡遭假冒 金山怒批“李鬼”带毒坑用户