• 欢迎访问 winrains 的个人网站!
  • 本网站主要从互联网整理和收集了与Java、网络安全、Linux等技术相关的文章,供学习和研究使用。如有侵权,请留言告知,谢谢!

标签:IoC

Spring

手写 Spring IOC 框架

手写 Spring IOC 框架
1 SpringIOC原理 指的是控制反转,IOC容器负责实例化、定位、配置应用程序中的对象及建立这些对象间的依赖。交由Spring容器统一进行管理,从而实现松耦合 使用反射机制+XML技术 1.1 实现原理 1.2 spring bean的一生 2 手写springIOC框架 2.1 手写SpringIOCXML版本 思路 读取配置文件 使用bean……继续阅读 »

winrains 7个月前 (03-31) 67浏览 2个赞

Spring

Spring IOC 容器源码分析(6):余下的初始化工作

Spring IOC 容器源码分析(6):余下的初始化工作
1. 简介 本篇文章是“Spring IOC 容器源码分析”系列文章的最后一篇文章,本篇文章所分析的对象是 initializeBean 方法,该方法用于对已完成属性填充的 bean 做最后的初始化工作。相较于之前几篇文章所分析的源码,initializeBean 的源码相对比较简单,大家可以愉快的阅读。好了,其他的不多说了,我们直入主题吧。 2. 源码分析……继续阅读 »

winrains 1年前 (2019-11-01) 66浏览 1个赞

Spring

Spring IOC 容器源码分析(5):填充属性到 bean 原始对象

Spring IOC 容器源码分析(5):填充属性到 bean 原始对象
1. 简介 本篇文章,我们来一起了解一下 Spring 是如何将配置文件中的属性值填充到 bean 对象中的。我在前面几篇文章中介绍过 Spring 创建 bean 的流程,即 Spring 先通过反射创建一个原始的 bean 对象,然后再向这个原始的 bean 对象中填充属性。对于填充属性这个过程,简单点来说,JavaBean 的每个属性通常都有 gett……继续阅读 »

winrains 1年前 (2019-11-01) 56浏览 1个赞

Spring

Spring IOC 容器源码分析(4):循环依赖的解决办法

Spring IOC 容器源码分析(4):循环依赖的解决办法
1. 简介 本文,我们来看一下 Spring 是如何解决循环依赖问题的。在本篇文章中,我会首先向大家介绍一下什么是循环依赖。然后,进入源码分析阶段。为了更好的说明 Spring 解决循环依赖的办法,我将会从获取 bean 的方法getBean(String)开始,把整个调用过程梳理一遍。梳理完后,再来详细分析源码。通过这几步的讲解,希望让大家能够弄懂什么是循……继续阅读 »

winrains 1年前 (2019-11-01) 72浏览 1个赞

Spring

Spring IOC 容器源码分析(3):创建原始 bean 对象

Spring IOC 容器源码分析(3):创建原始 bean 对象
1. 简介 本篇文章是上一篇文章(创建单例 bean 的过程)的延续。在上一篇文章中,我们从战略层面上领略了doCreateBean方法的全过程。本篇文章,我们就从战术的层面上,详细分析doCreateBean方法中的一个重要的调用,即createBeanInstance方法。在本篇文章中,你将看到三种不同的构造 bean 对象的方式。你也会了解到构造 be……继续阅读 »

winrains 1年前 (2019-11-01) 64浏览 1个赞

Spring

Spring IOC 容器源码分析(2):创建单例 bean 的过程

Spring IOC 容器源码分析(2):创建单例 bean 的过程
1. 简介 在上一篇文章中,我比较详细的分析了获取 bean 的方法,也就是getBean(String)的实现逻辑。对于已实例化好的单例 bean,getBean(String) 方法并不会再一次去创建,而是从缓存中获取。如果某个 bean 还未实例化,这个时候就无法命中缓存。此时,就要根据 bean 的配置信息去创建这个 bean 了。相较于getBea……继续阅读 »

winrains 1年前 (2019-11-01) 54浏览 1个赞

Spring

Spring IOC 容器源码分析(1):获取单例 bean

Spring IOC 容器源码分析(1):获取单例 bean
1. 简介 为了写 Spring IOC 容器源码分析系列的文章,我特地写了一篇 Spring IOC 容器的导读文章。在导读一文中,我介绍了 Spring 的一些特性以及阅读 Spring 源码的一些建议。在做完必要的准备工作后,从本文开始,正式开始进入源码分析的阶段。 在本篇文章中,我将会详细分析BeanFactory的getBean(String)方法……继续阅读 »

winrains 1年前 (2019-11-01) 48浏览 1个赞

Spring

Spring IOC 容器源码分析(0):文章导读

Spring IOC 容器源码分析(0):文章导读
1. 简介 Spring 是一个轻量级的企业级应用开发框架,于 2004 年由 Rod Johnson 发布了 1.0 版本。经过十几年的迭代,现在的 Spring 框架已经非常成熟了。Spring 包含了众多模块,包括但不限于 Core、Bean、Context、AOP 和 Web 等。在今天,我们完全可以使用 Spring 所提供的一站式解决方案开发出我……继续阅读 »

winrains 1年前 (2019-11-01) 62浏览 1个赞

Spring

自己动手实现的 Spring IOC 和 AOP(下)

自己动手实现的 Spring IOC 和 AOP(下)
1. 背景 本文承接上文,来继续说说 IOC 和 AOP 的仿写。在上文中,我实现了一个很简单的 IOC 和 AOP 容器。上文实现的 IOC 和 AOP 功能很单一,且 IOC 和 AOP 两个模块没有整合到一起。IOC 在加载 bean 过程中,AOP 不能对 bean 织入通知。在本文中,我们详细说一下升级版 IOC 和 AOP。这个版本的实现包含了在……继续阅读 »

winrains 1年前 (2019-11-01) 64浏览 1个赞

Spring

自己动手实现的 Spring IOC 和 AOP(上)

自己动手实现的 Spring IOC 和 AOP(上)
1. 背景 我在大四实习的时候开始接触 J2EE 方面的开发工作,也是在同时期接触并学习 Spring 框架,到现在也有快有两年的时间了。不过之前没有仿写过 Spring IOC 和 AOP,只是宏观上对 Spring IOC 和 AOP 原理有一定的认识。所以为了更进一步理解 Spring IOC 和 AOP 原理。在工作之余,参考了一些资料和代码,动手实……继续阅读 »

winrains 1年前 (2019-11-01) 55浏览 1个赞