Spring IoC之AbstractBeanFactory

Spring IoC之AbstractBeanFactory

AbstractBeanFactory 实现了依赖关系处理,它 继承了 DefaultSingletonBeanRegistry 类,并进一步丰富了已有的功能,这个类提供了 singleton/prototype 的选择,单例 cache,对于 FactoryBean 的处理,bean 定义的处理以及 b...
Spring IoC之ApplicationContext中refresh过程

Spring IoC之ApplicationContext中refresh过程

refresh()该方法是 Spring Bean 加载的核心,它是 ClassPathXmlApplicationContext 的父类 AbstractApplicationContext 的一个方法 , 顾名思义,用于刷新整个Spring 上下文信息,定义了整个 Spring 上下文加载的流程。pub...
Spring IoC之ClassPathXmlApplicationContext

Spring IoC之ClassPathXmlApplicationContext

概述前面我们讲了 Spring 资源的定义和资源的加载情况,还剩下 BeanFactory、BeanDefinition、BeanDefinitionReader 和 ApplicationContext 需要学习,通常情况下,这些内容关联性比较紧密,所以我们从实际应用场景中对 bea...
Spring之BeanFactoryPostProcessor和BeanPostProcessor

Spring之BeanFactoryPostProcessor和BeanPostProcessor

概述BeanFactoryPostProcessor 和 BeanPostProcessor 这两个接口,都是 Spring 初始化 bean 时对外暴露的扩展点,一般叫做 Spring 的 Bean 后置处理器接口,作用是为 Bean 的初始化前后 提供可扩展的空间。两个接口名称看起...
Spring IoC资源管理之ResourceLoader

Spring IoC资源管理之ResourceLoader

概述在上一章节Spring IoC资源管理之Resource提到 Spring 将资源的定义和资源的加载区分开了,Resource 定义了统一的资源,那资源的加载则由 ResourceLoader 来统一定义。ResourceLoaderorg.springframework.core.io.Resou...
Spring IoC资源管理之Resource

Spring IoC资源管理之Resource

概述在学 Java SE 的时候我们学习了一个标准类 java.net.URL,该类在 Java SE 中的定位为统一资源定位器(Uniform Resource Locator),但是我们知道它的实现基本只限于网络形式发布的资源的查找和定位。然而,实际上资源的...
Spring之IoC理论学习

Spring之IoC理论学习

概述上一篇Spring之概念学习我们搭建完基于 Spring 框架的环境, 这篇我们开始真正的阅读 Spring 的源码,分析 Spring 的源码之前我们先来简单回顾下 Spring 核心功能的简单使用。为什么需要 IoC假如有这么一个业务场景:da...
Spring之概念学习

Spring之概念学习

Spring概述简介Spring 是一个开源的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。2002 年,Rod Jahnson 首次推出了 Spring 框架雏形 interface21 框架。2004...
Spring Boot注解学习之@SpringBootApplication(二)

Spring Boot注解学习之@SpringBootApplication(二)

接着上文,我们继续学习@ComponentScan注解。@ComponentScan在讲述 @Configuration 启动容器+@Component 注册 Bean 小节中简单介绍了@ComponentScan 注解的使用。@ComponentScan 的功能其实就是自动扫描并加载符合条件的组...
Spring Boot注解学习之@SpringBootApplication(一)

Spring Boot注解学习之@SpringBootApplication(一)

@SpringBootApplication在使用 Springboot 框架进行开发的时候,通常我们会在 main 函数上添加 @SpringBootApplication 注解 ,来使应用程序能够自动配置、组件扫描。@SpringBootApplicationpublic class Application { ...