spring容器

原文链接http://zhhll.icu/2021/01/03/%E6%A1%86%E6%9E%B6/spring/spring%E5%AE%B9%E5%99%A8/

spring容器

分为两种类型

  • BeanFactory 该接口是最简单的容器,提供了基本的DI支持。最常用的BeanFactory实现是XmlBeanFactory类,根据XML文件中的定义加载bean,从XML文件读取配置元数据并用它去创建一个完全配置的系统或应用

  • ApplicationContext应用上下文 基于BeanFactory之上构建,提供面向应用的服务,通常的实现

    • ClassPathXmlApplicationContext 从类路径下的XML配置文件中加载上下文定义,把应用上下文定义文件当做资源

      ApplicationContext  context = new ClassPathXmlApplicationContext("application.xml");
      
    • FileSystemXmlApplicationContext 读取文件系统下的XML配置文件并加载上下文定义

    • XmlWebApplicationContext 读取Web应用下的XML配置文件并装载上下文定义

BeanFactory和ApplicationContext的区别

BeanFactory可以认为是bean集合的工厂类,包含了各种bean的定义,以便在接收到客户端请求时将对应的bean实例化

ApplicationContext继承了BeanFactory并增加了其他的功能,在初始化上下文时就实例化所有单例的bean,提供了支持国际化的文本消息,统一的资源文件读取方式,已在监听器中注册的bean的事件,常见的实现方式

  • ClassPathXmlApplicationContext:从classpath的XML配置文件中读取上下文,并生成上下文定义。应用程序上下文从程序环境变量中取得

  • FileSystemXmlApplicationContext: 由文件系统中的XML文件读取上下文

  • XmlWebApplicationContext: 由Web应用的XML文件读取上下文

  • AnnotationConfigApplicationContext: 注解方式

ConfigurableApplicationContext扩展于ApplicationContext接口,新增了两个主要的方法,refresh()和close(),让ApplicationContext具有启动、刷新和关闭上下文的能力

WebApplicationContext专门为WEB应用准备的,允许从相对于WEB根目录的路径中初始化上下文

在这里插入图片描述

由于本身的博客百度没有收录,博客地址http://zhhll.icu

posted @   拾光师  阅读(134)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
点击右上角即可分享
微信分享提示