zoukankan      html  css  js  c++  java
  • [java]spring三大核心组件

     

    Bean组件

    组件作用

    Bean组件在Spring中的Beans包下,为了解决三件事。Bean的创建,Bean的定义,Bean的解析。最关心的就是Bean的创建。

    Bean的创建

    1、工厂模式的实现,顶层接口是:BeanFactory
    虽然最终实现类是DefaultListableBeanFactory,但是其上层接口都是为了区分在Spring内部对象的传递和转换的过程,对对象的数据访问所做的限制。
    ListableBeanFactory:可列表的
    HierarchicalBeanFactory:可继承的
    AutowriteCapableBeanFactory:可自动装配的
    这四个接口,共同定义了Bean的集合,Bean之间的关系,Bean的行为。

    Bean的定义

    Bean的定义完整的描述在Spring配置文件中节点中,包括子节点等。
    在Spring内部它被转换成BeanDefinition对象,后续操作都是对这个对象操作。
    主要是BeanDefinition来描述

    Bean的解析

    BeanDefinitionReader
    Bean的解析就是对Spring配置文件以及对Tag的解析。

    Context组件

    组件作用

    在Spring中的context包下,为Spring提供运行环境,用以保存各个对象状态。

    Context作为Spring的IOC容器,整合了大部分功能或说大部分功能的基础,完成了以下几件事:
      1、标识一个应用环境
      2、利用BeanFactory创建Bean对象
      3、保存对象关系表
      4、能够捕获各种事件
    ApplicationContext是context的顶级父类,除了能标识一个应用的基本信息外,还继承了五个接口,扩展了Context的功能。并且继承了BeanFactory,说明Spring容器中运行的主体对象是Bean,另外还继承了ResourceLoader,可以让ApplicationContext可以访问任何外部资源。

    ApplicationContext子类

    1、ConfigurableApplicationContext:表示Context是可以修改的,在构建Context,用户可以动态添加或者修改已有的配置。
    2、WebApplicationContext:为Web准备的Context,可以访问ServletContext。

    Core组件

    访问资源

    1、它包含了很多关键类,一个重要的组成部分就是定义的资源的访问方式,这种把所有资源都抽象成了一个接口的方式很值得学习。
    2、Resource接口封装了各种可能的资源类型,继承了InputStreamSource接口。
    加载资源的问题,也就是资源加载者的统一,由ResourceLoader接口来完成。
    默认实现是:DefaultResourceLoader

    Core资源的加载

    Core组件将解析等工作委托给了ResourcePatternResolver来完成,作为一个接头人,把资源的加载,解析和定义整合在了一起便于其他组件使用。

  • 相关阅读:
    Windows Phone 7 中常用Task
    设置Highchart柱子最大宽度( 让 highcharts支持maxPointWidth属性)
    Asp.Net MVC 使用FileResult导出Excel数据文件
    js获取网页高度
    使用window.addEventListener 和 window.attachEvent 判断浏览器
    slimscroll滚动条插件简单用法
    js中如何快速获取数组中的最大值最小值
    js 判断浏览器类型
    python使用ldap进行用户认证
    关于go声明切片的一些疑问
  • 原文地址:https://www.cnblogs.com/fangdie/p/12689971.html
Copyright © 2011-2022 走看看