ClassPathXmlApplicationContext类

org.springframework.context.support 
Class ClassPathXmlApplicationContext

java.lang.Objectorg.springframework.core.io.DefaultResourceLoaderorg.springframework.context.support.AbstractApplicationContextorg.springframework.context.support.AbstractRefreshableApplicationContextorg.springframework.context.support.AbstractRefreshableConfigApplicationContextorg.springframework.context.support.AbstractXmlApplicationContextorg.springframework.context.support.ClassPathXmlApplicationContext
All Implemented Interfaces:
BeanFactory, BeanNameAware, DisposableBean, HierarchicalBeanFactory, InitializingBean, ListableBeanFactory, ApplicationContext, ApplicationEventPublisher,ConfigurableApplicationContext, Lifecycle, MessageSource, ResourceLoader, ResourcePatternResolver

public class ClassPathXmlApplicationContext
extends AbstractXmlApplicationContext

该类继承了AbstractXmlApplicationContext,实现了BeanFctory和ApplicationContext接口。

使用BeanFactory接口还是ApplicationContext接口?

BeanFactory只是实现了Spring基本的功能,而ApplicationContext添加了更多的功能,并且ApplicationContext完全支持BeanFactory的所有功能,ApplicationContext建立于BeanFactory基础之上的。ApplicationContext是BeanFactory的子接口,而BeanFactory是ApplicationContext的父接口。所以,建议优先使用ApplicationContext接口。

官方文档解释:

In short, the BeanFactory provides the configuration framework and basic functionality, and the ApplicationContext adds more enterprise-specific functionality. The ApplicationContext is a complete superset of the BeanFactory

来自为知笔记(Wiz)

时间: 2024-10-22 08:32:16

ClassPathXmlApplicationContext类的相关文章

Spring中ClassPathXmlApplicationContext类的简单使用

一.简单的用ApplicationContext做测试的话,获得Spring中定义的Bean实例(对象).可以用: ApplicationContext ac = new ClassPathXmlApplicationContext("applicationContext.xml");RegisterDAO registerDAO = (RegisterDAO)ac.getBean("RegisterDAO"); 如果是两个以上:ApplicationContext

ClassPathXmlApplicationContext源码分析

ClassPathXmlApplicationContext源码解读 入口函数 通过ClassPathXmlApplicationContext类构造方法启动父类AbstractApplicationContext的函数refresh方法 ClassPathXmlApplicationContext源码: package org.springframework.context.support;?import org.springframework.beans.BeansException;imp

深入理解Spring--动手实现一个简单的SpringIOC容器

接触Spring快半年了,前段时间刚用Spring4+S2H4做完了自己的毕设,但是很明显感觉对Spring尤其是IOC容器的实现原理理解的不到位,说白了,就是仅仅停留在会用的阶段,有一颗想读源码的心于是买了一本计文柯的<Spring技术内幕>,第二章没看完,就被我扔一边了,看的那是相当痛苦,深深觉得自己资质尚浅,能力还不够,昨天在网上碰巧看到一个实现简单的SpringIOC容器的视频教程,于是跟着做了一遍,竟然相当顺利,至少每一行代码都能理解,于是细心整理了一番,放在这里. 主要思想: 提到

使用 Java 配置进行 Spring bean 管理--转

概述 众所周知,Spring 框架是控制反转 (IOC) 或依赖性注入 (DI) 模式的推动因素,而这种推动是通过基于容器的配置实现的.过去,Spring 允许开发人员使用基于 XML 的配置,通过利用应用程序上下文 XML 文件来管理 bean 依赖性.此文件处于应用程序的外部,包含 bean 及其与该应用程序的依赖项的定义.尽管使用 XML 配置较为简单和便捷,但仍有另外一种方法可定义 bean 及其依赖项.这种方法也称为基于 Java 的配置.不同于 XML,基于 Java 的配置使您能够

理解Spring的Bean工厂

一提到工厂,我们先来回忆前面学习过的工厂方法和抽象工厂模式: 工厂方法:针对产品维度,可以产生新的产品,也可以产生新的产品工厂,既可以扩展产品维度.但是如果我们想在普通工厂上生产产品系列,就会特别麻烦如果产生Apple你就得产生AppleFactory,如果产生Mushroom,就得产生MushroomFactory.这样就会照成工厂泛滥. 抽象工厂:针对产品系列,可以在谋一系列的产品上进行扩展.缺点是如果产生产品新种,改动就会很多. Spring工厂:可以在产品系列方面既能扩展,又能确定产品品

IOC容器的初始化过程

1.ClassPathXmlApplicationContext类体系结构 左边的黄色部分是ApplicationContext体系继承结构,右边是BeanFactory结构体系,两个体系是典型的模板方法设计模式的使用. 从该继承体系可以看出: (1)BeanFactory是一个bean工厂的最基本定义,里面包含了一个bean工厂的几个最基本方法:getBean(),containsBean()等,是一个很纯粹的bean工厂,不关注资源.资源位置.事件等. ApplicationContext是

Maven+Spring

Maven+Spring 关于Maven Maven是一个用于项目构建的工具,通过它便捷的管理项目的生命周期.即项目的jar包依赖,开发,测试,发布打包. 做过.NET的人应该会联想到Nuget,是的Maven其实就是java的Nuget.最主要的是用来管理包,有了maven我们就不需要单独下载jar包,只需要在配置文件pom.xml中配置jar包的依赖关系,就可以自动的下载jar包到我们的项目中.这样有助于协同开发,自己下载包可能会有版本问题. 创建一个Maven项目 我使用的eclipse有

spring beanFactory

1.什么叫beanfactory? spring使用BeanFactory来实例化.配置和管理对象,但是它只是一个接口,里面有一个getBean()方法.我们一般都不直接用BeanFactory,而是用它的实现类ApplicationContext,这个类会自动解析我们配置的applicationContext.xml,然后根据我们配置的bean来new对象,将new好的对象放进一个Map中,键就是我们bean的id,值就是new的对象. 原文参考http://www.cnblogs.com/l

spring 基础学习笔记

spring 初始理解 1.spring 只是一个框架,是一些相应的 jar包,相当于一个项目的管理者,各种其他框架的中介,项目的监管机构. 2.主要特点是依赖注入DI.面向切面AOP,控制反转IOC 3.核心:加载applicationContext.Xml配置文件,生成applicationContext对象,在配置文件中的bean也会生成各种bean对象,这些bean对象相当于配置文件中的各个类的初始化,或者框架配置, spring通过applicationContext这个对象去管理这些