首页 > 其他分享 >Spring框架的设计理念与设计模式(4)-Context组件

Spring框架的设计理念与设计模式(4)-Context组件

时间:2023-07-21 16:32:53浏览次数:37  
标签:http url Spring blog Context 设计模式


关键词:Context,组件,Spring,BeanFactory,容器,Ioc
上一章:[b]Spring框架的设计理念与设计模式(3)-Bean组件[/b] [url]http://javapub.iteye.com/blog/751550[/url]
下一章:[b]Spring框架的设计理念与设计模式(5)-Core组件[/b] [url]http://javapub.iteye.com/blog/751627[/url]
[b]Context组件[/b]

Context在Spring的org.springframework.context包下,前面已经讲解了Context组件在Spring中的作用,他实际上就是给Spring提供一个运行时的环境,用以保存各个对象的状态。下面看一下这个 环境是如何构建的。

ApplicationContext是Context的顶级父类,他除了能标识一个应用环境的基本信息外,他还继承了五个接口,这五个接口主要是扩展了Context的功能。下面是Context的类结构图:
[img]http://www.kutoku.info/images/java/100831/spring06.gif[/img]
从上图中可以看出ApplicationContext继承了BeanFactory,这也说明了Spring容器中运行的主体对象是Bean,另外 ApplicationContext继承了ResourceLoader接口,使得ApplicationContext可以访 问到任何外部资源,这将在Core中详细说明。

[b]ApplicationContext的子类主要包含两个方面:[/b]
ConfigurableApplicationContext表示该Context是可修改的,也就是在构建Context中用户可以动态添加或修改已有的配置信息,它下面又有多个子类,其中最经常使用的是可更新的Context,即 AbstractRefreshableApplicationContext类。

WebApplicationContext顾名思义,就是为web准备的Context他可以直接访问到ServletContext,通常情况下,这个接口使用的少。

再往下分就是按照构建Context的文件类型,接着就是访问Context的方式。这样一级一级构成了完整的Context等级层次。

总体来说ApplicationContext必须要完成以下几件事:

◆标识一个应用环境

◆利用BeanFactory创建Bean对象

◆保存对象关系表

◆能够捕获各种事件

Context作为Spring的Ioc容器,基本上整合了Spring的大部分功能,或者说是大部分功能的基础。

[b]目录--Spring框架的设计理念与设计模式[/b]
[b]Spring框架的设计理念与设计模式(1)-Spring的架构[/b] [url]http://javapub.iteye.com/blog/751539[/url]
[b]Spring框架的设计理念与设计模式(2)-Spring的设计理念[/b] [url]http://javapub.iteye.com/blog/751545[/url]
[b]Spring框架的设计理念与设计模式(3)-Bean组件[/b] [url]http://javapub.iteye.com/blog/751550[/url]
[b]Spring框架的设计理念与设计模式(4)-Context组件[/b] [url]http://javapub.iteye.com/blog/751625[/url]
[b]Spring框架的设计理念与设计模式(5)-Core组件[/b] [url]http://javapub.iteye.com/blog/751627[/url]
[b]Spring框架的设计理念与设计模式(6)-Ioc容器及BeanFactory工厂[/b] [url]http://javapub.iteye.com/blog/751635[/url]
[b]Spring框架的设计理念与设计模式(7)-Spring中AOP特性与实现[/b] [url]http://javapub.iteye.com/blog/751642[/url]
[b]Spring框架的设计理念与设计模式(8)-代理模式[/b] [url]http://javapub.iteye.com/blog/751652[/url]
[b]Spring框架的设计理念与设计模式(9)-策略模式[/b] [url]http://javapub.iteye.com/blog/751653[/url]

标签:http,url,Spring,blog,Context,设计模式
From: https://blog.51cto.com/u_16200731/6802460

相关文章

  • springboot学习之十三(druid+mybaits plus)
    Druid介绍Druid是阿里巴巴的一个开源项目,号称为监控而生的数据库连接池,在功能、性能、扩展性方面都超过其他例如DBCP、C3P0、BoneCP、Proxool、JBossDataSource等连接池,而且Druid已经在阿里巴巴部署了超过600个应用,通过了极为严格的考验,这才收获了大家的青睐! Springboot集成......
  • 接口默认方法,接口应用和适配器设计模式
    静态方法只能通过接口名调用!!! 私有方法主要用于提取两个不同方法的相同部分,两个不同方法分别调用私有方法,从而简化代码 ......
  • Spring Boot配置文件加载顺序
    项目内部配置文件springboot启动会扫描一下位置application.properties或者application.yml文件作为springboot的默认配置文件1、file:./config/2、file:./3、classpath:/config/4、classpath:/加载顺序可以通过启动命令spring.config.location修改java-jarspring-boot-......
  • 【转载】SpringBoot 通用限流方案
    一、背景限流对于一个微服务架构系统来说具有非常重要的意义,否则其中的某个微服务将成为整个系统隐藏的雪崩因素,为什么这么说?举例来讲,某个SAAS平台有100多个微服务应用,但是作为底层的某个或某几个应用来说,将会被所有上层应用频繁调用,业务高峰期时,如果底层应用不做限流处理,该应用......
  • SpringBoot 使用jasypt 对敏感字段加密
    com.github.ulisesbocchiojasypt-spring-boot-starter2.1.2如果SpringBoot项目中使用了@SpringBootApplication或者@EnableAutoConfiguration,在项目里添加jasypt-spring-boot-starter依赖会自动对项目中整个属性(包括系统属性,环境属性,命令行参数, applicat......
  • idea 在springboot添加本地jar包的方法
    虽然现在Maven很方便,但还是会有一些jar是不开源的,也就是说在Maven仓库中是下载不到的,比如对接阿里云、通联等,这个时候就需要我们手动将这些jar包下载下来,然后手动添加到我们的项目中1、先下载好自己需要的jar包,如下: 2、在SpringBoot中的resources目录新建一个lib目录,将这些ja......
  • springboot插件式开发 springboot-plugin-framework-v2.4.5使用文档
    功能介绍简介介绍此框架可在SpringBoot项目上开发出用于扩展项目的插件,可在插件模块中单独定义接口、静态文件、mybatis-xml等扩展功能。核心功能插件配置式插拔于springboot项目。在springboot上可以进行插件式开发,扩展性极强,可以针对不同项目开发不同插件,进行不同插件jar包......
  • 使用spring boot压测查看机器cpu内存jvm
    使用SpringBoot压测机器的CPU、内存和JVM在这篇文章中,我将向你展示如何使用SpringBoot来压测机器的CPU、内存和JVM。这将帮助你了解应用程序在不同负载下的性能表现,并帮助你进行性能调优。下面是整个过程的步骤概览:步骤操作1创建一个SpringBoot项目2添加压力......
  • 原型设计模式java
    原型设计模式(PrototypeDesignPattern)是一种创建型设计模式,它允许我们通过克隆已有对象来创建新的对象,而无需通过实例化类。这种模式有助于提高性能和代码重用,特别是在创建复杂对象时。在Java中,我们可以使用Object类的clone()方法来实现原型设计模式。这个方法在Object类中被声明......
  • springboot
    这几天查阅了几十篇文章,总结了springboot的一些心得。一.Spring Boot 是什么从 2002 年开始,Spring 一直在飞速的发展,如今已经成为了在 Java EE 开发中真正意义上的标准,但是随着技术的发展,Java EE 使用 Spring 逐渐变得笨重起来,大量的 XML 文件存在于项目之中......