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的支持类,在J2EE的Web应用的启动进程中用它启动ApplicationContext。当然,这种情况下还可以以编程的方式创建一个ApplicationContext。
Context包的基础是位于org.springframework.context包中的ApplicationContext接口。它是由BeanFactory接口集成而来,提供BeanFactory所有的功能。为了以一种更像面向框架的方式工作,context包使用分层和有继承关系的上下文类,包括:
1.MessageSource,提供对i18n消息的访问;
2.资源访问,比如URL和文件;
3.事件传递给实现了ApplicationListener接口的bean;
4.载入多个(有继承关系)上下文类,使得每一个上下文类都专注于一个特定的层次,比如应用的Web层
最关键的不同点是:
应用上下文与Bean工厂的另一个重要的区别就是关于单实例Bean是如何载入的。Bean工厂延迟载入所有的Bean,直到getbean()方法被调用是Bean才被创建。应用上下文则会在上下文启动后预载入所有的单实例Bean。通过预载入单实例bean ,确保当你需要的时候,你就不用等待,因为它们已经创建好了。
分享到:
相关推荐
在Spring框架中,BeanFactory和ApplicationContext是两种不同的bean容器,它们各自有其特性和应用场景,理解二者的区别对于深入掌握Spring框架至关重要。 首先,BeanFactory是Spring中最基本的bean容器,它提供了对...
在Spring框架中,ApplicationContext和BeanFactory是两种不同的bean容器,它们各自有其特性和应用场景,理解二者的区别对于深入学习和使用Spring至关重要。 首先,BeanFactory是Spring中最基础的bean管理容器,它...
Spring的IoC容器是其核心特性之一,它通过BeanFactory和ApplicationContext两个主要接口来实现控制反转(Inversion of Control,IoC)的概念。BeanFactory作为基础的IoC容器,提供了全面的IoC服务,包括对象的注册、...
BeanFactory 和 ApplicationContext 有什么区别 > BeanFactory 可以理解为含有 bean 集合的工厂类。BeanFactory 包含了种 bean 的定 义, 以便在接收到客户端请求时将对应的 bean 实例化。 > BeanFactory 还能在实例...
在Spring框架中,BeanFactory是核心的容器,它负责管理和创建对象,这些对象通常被称为"bean"。...在实际开发中,通常会结合使用BeanFactory和ApplicationContext,以充分利用Spring提供的各种特性。
核心容器包括BeanFactory和ApplicationContext,它们是Spring实现控制反转(IOC)的基础。 1. **控制反转(IOC)和依赖注入(DI)** 控制反转是Spring框架的核心概念,它改变了传统应用程序中对象间的依赖关系管理...
在Spring框架中,BeanFactory和ApplicationContext是两种不同的bean容器,它们在管理bean上有共同之处,但也存在明显的区别。BeanFactory可以视为一个基本的bean仓库,它包含bean的定义并在需要时实例化bean,同时...
在Spring应用中,通常会使用ApplicationContext来替代简单的BeanFactory,因为ApplicationContext提供了一站式的解决方案,能够更好地管理和协调复杂的系统组件。 当我们创建ApplicationContext时,可以通过XML配置...
Spring框架的核心在于其IoC容器,通过BeanFactory和ApplicationContext接口提供了强大的依赖注入功能。开发者可以根据项目的需要选择合适的容器类型和配置方式,以实现高效、可维护的代码结构。随着Spring框架的发展...
这份文档是对Java面试知识的自我总结,涵盖了Spring框架的核心概念,特别是AOP(面向切面编程)和Spring的启动过程,以及BeanFactory和ApplicationContext的区别,以及Spring Bean的生命周期。 1. **Spring的AOP...
BeanFactory 和 ApplicationContext 有什么区别 > BeanFactory 可以理解为含有 bean 集合的工厂类。BeanFactory 包含了种 bean 的定义, 以便在接收到客户端请求时将对应的 bean 实例化。 > BeanFactory 还能在实例...
IoC容器主要由两个接口代表:BeanFactory和ApplicationContext。BeanFactory是基础,它负责实例化、定位和配置应用程序中的对象,以及管理这些对象之间的依赖关系。ApplicationContext是BeanFactory的扩展,除了提供...
通过BeanFactory和ApplicationContext,开发者可以更专注于业务逻辑,而不是对象的创建和管理。依赖注入的方式多样,满足不同场景的需求,而WebApplicationContext则为Web应用提供了无缝的整合和支持。理解和掌握...
Resource接口提供了一种统一的方式来访问各种类型的资源,而BeanFactory和ApplicationContext则构成了Spring的核心IoC容器,管理着应用中的Bean和它们的生命周期。这些概念对于任何想要深入学习和使用Spring框架的...
核心容器由BeanFactory和ApplicationContext组成,负责管理应用对象的生命周期和依赖关系。Spring通过模块化设计,允许开发者根据需求选择性地使用,提高了代码的可维护性和可扩展性。 2. 使用Spring框架的好处: ...
BeanFactory和ApplicationContext是Spring提供的两个主要核心容器。 BeanFactory是Spring最基础的容器,它实现了控制反转(IoC)的概念,使得对象的创建和依赖关系的管理不再由代码直接控制,而是由BeanFactory来...
通过本章的学习,我们深入了解了Spring框架中控制反转(IoC)的概念及其核心组件——BeanFactory和ApplicationContext。理解这些基础知识对于熟练掌握Spring框架至关重要。在实际项目开发中,合理选择和利用Spring的...
当比较BeanFactory和ApplicationContext时,我们发现两者都是IoC容器,但ApplicationContext是BeanFactory的超集,它提供了更多企业级服务,例如支持Web应用的WebApplicationContext,它能更容易集成Spring MVC和...
Spring的核心在于其BeanFactory和ApplicationContext,它们使得对象的管理和装配变得简单。这里我们将详细探讨如何在Java中通过Spring获取配置的bean。 1. **BeanFactory与ApplicationContext** - **BeanFactory*...