1. 引言 Spring框架附带了两个IOC容器– BeanFactory 和 ApplicationContext. BeanFactory是IOC容器的最基本版本,ApplicationContext扩展了BeanFactory的功能. 那么本篇文章中,我们将通过实际例子了解这两个IOC容器之间的显著差异. 2. 延迟加载 vs. 预加载 BeanFactory 按需加载bean,而 ApplicationContext 则在启动时加载所有bean.因此,BeanFactory与Applic…
Application Context是spring中较高级的容器.和BeanFactory类似,它可以加载配置文件中定义的bean,将所有的bean集中在一起,当有请求的时候分配bean. 另外,它增加了企业所需要的功能,比如,从属性文件从解析文本信息和将事件传递给所指定的监听器.这个容器在org.springframework.context.ApplicationContext interface接口中定义. ApplicationContext包含BeanFactory所有的功能,一般情…
一.模拟一个IOC容器: 介绍:现在,我们准备使用一个java project来模拟一个spring的IOC容器创建对象的方法,也就是不使用spring的jar自动帮助我们创建对象,而是通过自己手动书写代码创建对象. 二.具体步骤: 1.创建一个java project,不导入任何的spring相关的jar包(除了dom4j需要使用的相关jar包),并且导入dom4j相关的jar包,如下. 其中,这两个jar包是用来解析 applicationContext.xml 配置文件的. 2.在src源…
在Spring中,最基本的IOC容器接口是BeanFactory - 这个接口为具体的IOC容器的实现作了最基本的功能规定 - 不管怎么着,作为IOC容器,这些接口你必须要满足应用程序的最基本要求: public interface BeanFactory {     //这里是对FactoryBean的转义定义,因为如果使用bean的名字检索FactoryBean得到的对象是工厂生成的对象,     //如果需要得到工厂本身,需要转义            String FACTORY_BEA…
思考: 1. 对象创建创建能否写死? 2. 对象创建细节 对象数量 action  多个   [维护成员变量] service 一个   [不需要维护公共变量] dao     一个   [不需要维护公共变量] 创建时间 action    访问时候创建 service   启动时候创建 dao       启动时候创建 3. 对象的依赖关系 action 依赖 service service依赖 dao =============================================…
[原文] Spring的两个核心概念:IoC和AOP的雏形,Spring的历史变迁和如今的生态帝国. IoC和DI的基本概念 IoC(控制反转,英文含义:Inverse of Control)是Spring容器的内核,AOP.事务等功能都是建立在此基础上的.从字面意思上可以把IoC拆分为两层含义:控制和反转.控制可以理解为是接口实现类的选择权,反转可以理解为这个选择权交给第三方进行管理:总的来说就是某一接口具体实现类的选择控制权从调用类中移除,转交给第三方进行决定,即由Spring容器通过Bea…
1.直接得到 IOC 容器对象 ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml"); 封装起来: public class ApplicationContextUtil { private static ApplicationContext applicationContext = null; public ApplicationCont…
本文的目标:从实现的角度来认识SpringIoC容器. 观察的角度:从外部接口,内部实现,组成部分,执行过程四个方面来认识SpringIoC容器. 本文的风格:首先列出SpringIoC的外部接口及内部实现所涉及到的组件列表:其次介绍组件之间的相互关系以对整个执行过程有所把握:然后针对每一个组件的简单介绍,包括组件的类结构图,核心功能描述,重要接口的重要方法描述:接下来看SpringIoC容器实现对面向对象基本设计原则的遵守:最后是后记部分. 术语约定:组件:本文中的组件是指在功能概念上具有相对…
IoC 是一种通过描述来生成或者获取对象的技术,可以说 Spring 是一种基于 IoC 容器编程的框架 在一个系统中可以生成各种对象,并且这些对象都需要进行管理.为了描述这些对象关系,我们需要一个容器.在 Spring 中把每一个需要管理的对象称为 Spring Bean ,而管理这些 Bean 的容器就被称为 Spring IoC 容器. IoC 容器需要具备两个基本的功能: 通过描述管理 Bean ,包括发布和获取 Bean 通过描述完成 Bean 之间的依赖关系 介绍 Spring Io…
1.IOC概念理解 IOC(Inversion of Control)即“控制反转”,不是什么技术,而是一种设计思想.在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制,IOC容器负责实例化.定位.配置应用程序中的对象及建立这些对象间的依赖,由spring来负责控制对象的生命周期和对象间的关系. DI(Dependency Injection)即“依赖注入”:由容器动态的将某个依赖关系注入到组件之中.依赖注入的目的并非为软件系统带来更多功能,而是为了提…