一、spring 容器主要分为两类
一类是Bean工厂(org.springframework,beans.factory.BeanFactory接口定义) 是最简单的容器,提供了最基础的依赖注入的支持,二是应用上下文(org.springframework.context.ApplicationContext接口定义)建产在BeanFactory之上的,提供了更多的系统构架服务,如从属性文件中读取文本信息,向有关的事件监听器发布事件等。
BeanFactory
BeanFactory的实现,最常用的是 org.springframework.bean.factory.xml.XmlBeanFactory,根据Xml文件中的定义来装载Bean。XmlBeanFactory的创建可以通过任意一种Resource为实现;Resource常见的Resource实现有:ByteArrayResource、ClassPathResource、FileSystemResource等。
ApplicationContext
ApplicationContext相对于BeanFactory来说的话,提供了更多的功能,1、提供了文本信息解析工具,包括对国际化(I18N)的支持;2、载入文件资源的通用方法,如载入图片;3、向注册为监听器的Bean发送事件。
ApplicationContext的诸多实现中,经常使用的有三个:
1、ClassPathXmlApplicationContext 从类路径中的xml文件载入上下文定义信息,把上下文定义文件当成类路径资源。
2、FileSystemXmlApplicationContext 从文件系统中的XML文件载入上下文定义信息。
3、XMLWebApplicationContext 从Web系统中的XMl文件载入上下文定义信息。
二、BeanFactory与ApplicationContext的区别
应用上下文与Bean工厂最本质的区别是关于单实例Bean的载入方式,BeanFactory延迟加载所有的Bean,直到getBean()方法被调用时,Bean才会被创建。应用上下文则会在上下文启动后预载入所有的单实例Bean。通过预载入单实例Bean确保当需要使用的时候它们已经准备好了,从而不需要等待它们被创建。
分享到:
相关推荐
本主题将深入探讨“简单Spring容器实现”,基于提供的标签“源码”和“工具”,我们将聚焦于Spring容器的原理及其简易实现。下面,我们先来理解Spring容器的核心概念,然后逐步探索其内部机制,并通过一个名为...
总结来说,"深度解析spring容器管理bean"涵盖了Spring如何使用DOM4J解析XML,通过反射创建和管理Bean,实现依赖注入,以及Bean的生命周期管理等多个关键知识点。理解这些概念对于深入掌握Spring框架和构建高质量的...
BeanFactoryPostProcessor接口是Spring框架提供的一个接口,用于扩展Spring容器的功能。该接口只有一个方法`postProcessBeanFactory`,该方法在容器加载完成之后被调用,可以用来改变容器中的配置或做一些初始化工作...
总结,Spring 容器是 Spring 框架的基石,负责管理和协调应用中的对象。通过 BeanFactory 和 ApplicationContext 接口,我们可以进行 Bean 的定义、配置、初始化和销毁,以及依赖注入。同时,Spring 容器还提供了...
总结,我们通过以下步骤实现了动态代理接口并注册到Spring容器: 1. 定义需要代理的接口和实现类。 2. 创建自定义的InvocationHandler,处理代理对象的方法调用。 3. 使用Proxy.newProxyInstance创建动态代理对象。 ...
Spring个人总结,基于Annotation注解的方式开发,配置
使用spring的Ioc容器组装各种组件总结
在Spring中,bean是一个由容器管理的对象,它的实例化、初始化、装配和销毁都是由Spring容器控制的。你可以通过XML、注解或者Java配置类来定义bean。例如,一个简单的XML配置如下: ```xml ``` 这里,`myBean`...
这里,我们针对“spring问题总结.zip”文件中的主题进行详细的Spring框架知识探讨。 1. **依赖注入(Dependency Injection, DI)**:Spring的核心特性之一,通过DI,对象之间的依赖关系被反转,使得应用程序的组件...
4. **启动应用**:使用Spring容器加载配置,获取并使用Bean。 四、Spring的主要模块 1. **Core Container**:包括Beans和Core模块,提供DI和基本容器功能。 2. **Data Access/Integration**:包含JDBC、ORM、OXM、...
文章目录Spring总结Spring容器控制反转(IoC)基于XML的IoC Spring总结 Spring容器 什么是Spring容器 从概念上讲:Spring 容器是 Spring框架的核心,是用来管理对象的。容器将创建对象,把它们连接在一起,配置它们...
Java中最常见的容器包括Java集合框架(如ArrayList、HashMap等)、JavaBeans、Enterprise JavaBeans(EJB)、Servlet容器(如Tomcat、Jetty)以及Spring框架中的IoC(控制反转)和DI(依赖注入)容器。 1. **Java...
总结,Spring的IOC容器是其强大功能的基础,通过控制反转实现了对象的解耦和依赖管理,极大地提高了代码的可维护性和灵活性。理解并熟练运用IOC容器,对于提升Java企业级应用的开发效率具有重要意义。
总结起来,将MyBatis注册到Spring容器中主要是通过配置数据源、SqlSessionFactory、事务管理器以及扫描Mapper接口来实现的。这样做使得MyBatis的Mapper接口能够成为Spring的一部分,方便进行依赖注入和事务管理,...
它是所有Spring容器的基类,为其他容器提供了基本的服务和功能。 ##### 3.2 ApplicationContext介绍 `ApplicationContext`是在`BeanFactory`基础上的增强版本,除了继承了`BeanFactory`的所有功能之外,还提供了...
通过这种方式,Spring容器中的`userService` bean将是动态代理对象,当调用其方法时,会先执行我们在`invoke()`方法中定义的逻辑,包括服务降级处理和注解信息的获取。 总结来说,动态代理在Spring中提供了灵活的...
“知识点总结.xls”可能是一个整理好的Spring框架关键知识点的表格,可能包含了Spring的主要模块(如Core Container、Data Access/Integration、Web、AOP、Test等)、关键概念(如Bean、ApplicationContext、IoC容器...
1. **Spring容器加载方式**: - **ClassPathXmlApplicationContext**: 通过类路径加载XML配置文件,适用于传统的Java应用程序。 - **FileSystemXmlApplicationContext**: 使用文件系统的绝对路径加载XML配置文件,...
Spring容器主要分为两种类型:ApplicationContext和BeanFactory。ApplicationContext是Spring中最常用的容器,它提供了更高级的功能,如对国际化、事件传播、资源加载等的支持。BeanFactory是Spring的基本容器,负责...