`
jiejie111013
  • 浏览: 6702 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

BeanFactory和ApplicationContext

阅读更多

srping在获取bean文件的时候有2种获取方法,一个为 BeanFactory,一个为ApplicationContext,

BeanFactory接口的实现类为XmlBeanFactory,他的写法是

Resource res = new ClassPathResource("beans.xml");
  BeanFactory bf =new XmlBeanFactory(res);
 

 

而ApplicationContext的实现类有3个:

1.ClassPathXmlApplicationContext:

 

ApplicationContext factory=new ClassPathXmlApplicationContext("classpath:applicationContext.xml");
ApplicationContext factory=new ClassPathXmlApplicationContext("applicationContext.xml");  
ApplicationContext factory=new ClassPathXmlApplicationContext("file:E:/Workspaces/MyEclipse 8.5/Hello/src/applicationContext.xml");
 

2.FileSystemXmlApplicationContext用文件系统的路径总有两种相对与绝对路径

ApplicationContext factory=new FileSystemXmlApplicationContext("src/applicationContext.xml");
ApplicationContext factory=new FileSystemXmlApplicationContext("E:/Workspaces/MyEclipse 8.5/Hello/src/applicationContext.xml");

 

3.XmlWebApplicationContext   是专为Web工程定制的

ServletContext servletContext = request.getSession().getServletContext();
    ApplicationContext ctx = WebApplicationContextUtils.getWebApplicationContext(servletContext );

 

上面2种接口的相同点和不同点是:

相同点:都是载入了bean,装配bean

 

不同点是:

beans包提供了以编程的方式管理和操控bean的基本功能,而context包增加了ApplicationContext,它以一种更加面向框架的方式增强了BeanFactory的功能。多数用户可以以一种完全的声明式方式来使用ApplicationContext,甚至不用去手工创建它,但是却去依赖像ContextLoader的支持类,在J2EEWeb应用的启动进程中用它启动ApplicationContext。当然,这种情况下还可以以编程的方式创建一个ApplicationContext

Context包的基础是位于org.springframework.context包中的ApplicationContext接口。它是由BeanFactory接口集成而来,提供BeanFactory所有的功能。为了以一种更像面向框架的方式工作,context包使用分层和有继承关系的上下文类,包括:

1MessageSource,提供对i18n消息的访问;

2.资源访问,比如URL和文件;

3.事件传递给实现了ApplicationListener接口的bean

4.载入多个(有继承关系)上下文类,使得每一个上下文类都专注于一个特定的层次,比如应用的Web

 

最关键的不同点是:

应用上下文与Bean工厂的另一个重要的区别就是关于单实例Bean是如何载入的。Bean工厂延迟载入所有的Bean,直到getbean()方法被调用是Bean才被创建。应用上下文则会在上下文启动后预载入所有的单实例Bean。通过预载入单实例bean ,确保当你需要的时候,你就不用等待,因为它们已经创建好了。

分享到:
评论

相关推荐

    day38 05-Spring的BeanFactory与ApplicationContext区别

    在Spring框架中,BeanFactory和ApplicationContext是两种不同的bean容器,它们各自有其特性和应用场景,理解二者的区别对于深入掌握Spring框架至关重要。 首先,BeanFactory是Spring中最基本的bean容器,它提供了对...

    Spring中ApplicationContext和beanfactory区别.rar

    在Spring框架中,ApplicationContext和BeanFactory是两种不同的bean容器,它们各自有其特性和应用场景,理解二者的区别对于深入学习和使用Spring至关重要。 首先,BeanFactory是Spring中最基础的bean管理容器,它...

    Spring的IoC容器之BeanFactory[定义].pdf

    Spring的IoC容器是其核心特性之一,它通过BeanFactory和ApplicationContext两个主要接口来实现控制反转(Inversion of Control,IoC)的概念。BeanFactory作为基础的IoC容器,提供了全面的IoC服务,包括对象的注册、...

    1开源框架面试专题及答案.pdf

    BeanFactory 和 ApplicationContext 有什么区别 > BeanFactory 可以理解为含有 bean 集合的工厂类。BeanFactory 包含了种 bean 的定 义, 以便在接收到客户端请求时将对应的 bean 实例化。 > BeanFactory 还能在实例...

    BeanFactory创建对象.docx

    在Spring框架中,BeanFactory是核心的容器,它负责管理和创建对象,这些对象通常被称为"bean"。...在实际开发中,通常会结合使用BeanFactory和ApplicationContext,以充分利用Spring提供的各种特性。

    Spring面试专题

    核心容器包括BeanFactory和ApplicationContext,它们是Spring实现控制反转(IOC)的基础。 1. **控制反转(IOC)和依赖注入(DI)** 控制反转是Spring框架的核心概念,它改变了传统应用程序中对象间的依赖关系管理...

    开源框架面试专题及答案.pdf

    在Spring框架中,BeanFactory和ApplicationContext是两种不同的bean容器,它们在管理bean上有共同之处,但也存在明显的区别。BeanFactory可以视为一个基本的bean仓库,它包含bean的定义并在需要时实例化bean,同时...

    Spring官网阅读(十三)ApplicationContext详解(下)

    在Spring应用中,通常会使用ApplicationContext来替代简单的BeanFactory,因为ApplicationContext提供了一站式的解决方案,能够更好地管理和协调复杂的系统组件。 当我们创建ApplicationContext时,可以通过XML配置...

    spring2.0语法着色文档

    Spring框架的核心在于其IoC容器,通过BeanFactory和ApplicationContext接口提供了强大的依赖注入功能。开发者可以根据项目的需要选择合适的容器类型和配置方式,以实现高效、可维护的代码结构。随着Spring框架的发展...

    java自我总结面试大全.docx

    这份文档是对Java面试知识的自我总结,涵盖了Spring框架的核心概念,特别是AOP(面向切面编程)和Spring的启动过程,以及BeanFactory和ApplicationContext的区别,以及Spring Bean的生命周期。 1. **Spring的AOP...

    大厂真题之百度-Java中级

    BeanFactory 和 ApplicationContext 有什么区别 > BeanFactory 可以理解为含有 bean 集合的工厂类。BeanFactory 包含了种 bean 的定义, 以便在接收到客户端请求时将对应的 bean 实例化。 > BeanFactory 还能在实例...

    spring编程详细说明

    IoC容器主要由两个接口代表:BeanFactory和ApplicationContext。BeanFactory是基础,它负责实例化、定位和配置应用程序中的对象,以及管理这些对象之间的依赖关系。ApplicationContext是BeanFactory的扩展,除了提供...

    spring的ppt

    通过BeanFactory和ApplicationContext,开发者可以更专注于业务逻辑,而不是对象的创建和管理。依赖注入的方式多样,满足不同场景的需求,而WebApplicationContext则为Web应用提供了无缝的整合和支持。理解和掌握...

    spring3.x的读书笔记-2

    Resource接口提供了一种统一的方式来访问各种类型的资源,而BeanFactory和ApplicationContext则构成了Spring的核心IoC容器,管理着应用中的Bean和它们的生命周期。这些概念对于任何想要深入学习和使用Spring框架的...

    Spring面试专题1

    核心容器由BeanFactory和ApplicationContext组成,负责管理应用对象的生命周期和依赖关系。Spring通过模块化设计,允许开发者根据需求选择性地使用,提高了代码的可维护性和可扩展性。 2. 使用Spring框架的好处: ...

    基于java的企业级应用开发:Spring的核心容器.ppt

    BeanFactory和ApplicationContext是Spring提供的两个主要核心容器。 BeanFactory是Spring最基础的容器,它实现了控制反转(IoC)的概念,使得对象的创建和依赖关系的管理不再由代码直接控制,而是由BeanFactory来...

    Sping翻转控制器

    通过本章的学习,我们深入了解了Spring框架中控制反转(IoC)的概念及其核心组件——BeanFactory和ApplicationContext。理解这些基础知识对于熟练掌握Spring框架至关重要。在实际项目开发中,合理选择和利用Spring的...

    Spring高级篇.pdf

    当比较BeanFactory和ApplicationContext时,我们发现两者都是IoC容器,但ApplicationContext是BeanFactory的超集,它提供了更多企业级服务,例如支持Web应用的WebApplicationContext,它能更容易集成Spring MVC和...

    Java中Spring获取bean方法小结

    Spring的核心在于其BeanFactory和ApplicationContext,它们使得对象的管理和装配变得简单。这里我们将详细探讨如何在Java中通过Spring获取配置的bean。 1. **BeanFactory与ApplicationContext** - **BeanFactory*...

Global site tag (gtag.js) - Google Analytics