zoukankan      html  css  js  c++  java
  • [Java复习] Spring Framework 框架小结

    Spring 总共大约有 20 个模块,由 1300 多个不同的文件构成。

    而这些组件被分别整合在

      核心容器 (Core Container),

      AOP(Aspect Oriented Programming),

      设备支持(Instrumentation),

      数据访问及集成(Data Access/Integeration)- JDBC, ORM, JMS, Transactions,

      Web - WebMVC, WebSocket,

      报文发送(Messaging),

      Test,这6个模块集合中。

    以下是 Spring 5 的模块结构图:

    Spring设计理念:

    Spring 框架中的核心组件有三个:Core、Context 和 Beans。它们构建起了整个 Spring 的骨骼架构。

    Bean 在 Spring 中作用就像 Object 对 OOP 的意义一样,没有对象的概念就像没有面向对象编程,Spring 中没有 Bean 也就没有 Spring 存在的意义。

    Bean:包装Object和数据。像演出中的演员
    Context:发现bean之间关系,Context是Bean的关系集合,IoC容器。像演出中的舞台
    Core:就是发现、建立和维护每个bean之间关系的一些工具,像Util工具包。像演出中的道具

      Bean组件:

       Bean 组件在 Spring 的 org.springframework.beans 包下。这个包下的所有类主要解决了三件事:Bean 的定义、Bean 的创建以及对 Bean 的解析。

       Spring Bean 的创建时典型的工厂模式,它的顶级接口是 BeanFactory。

        Bean的定义:就是完整的描述了在Spring的配置文件中你定义的 <bean/> 节点中所有的信息,包括各种子节点。
                               当Spring成功解析你定义的一个<bean/>节点后,在Spring的内部就被转化成BeanDefinition对象。以后所有的操作都是对这个对象完成的。

      Context组件:

       Context 在 Spring 的 org.springframework.context 包下,它实际上就是给 Spring 提供一个运行时的环境,用以保存各个对象的状态。

        ApplicationContext 是 Context 的顶级父类,他除了能标识一个应用环境的基本信息外,他还继承了几个接口,主要是扩展了 Context 的功能。

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

    •     标识一个应用环境
    •     利用 BeanFactory 创建 Bean 对象
    •     保存对象关系表
    •     能够捕获各种事件

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

      Core组件:

       Core 组件作为 Spring 的核心组件,他其中包含了很多的关键类,其中一个重要组成部分就是定义了资源的访问方式。

       Resource接口封装了各种可能的资源类型,也就是对使用者来说屏蔽了文件类型的不同。

       Context是把资源的加载、解析和描述工作委托给了 ResourcePatternResolver 类来完成,他把资源的加载、解析和资源的定义整合在一起便于其他组件使用。

      

  • 相关阅读:
    IDEA热部署插件JRebel使用
    IntelliJ IDEA 代码注释
    解决redis显示中文为乱码问题
    C#的六种修饰符
    Bat批处理把文件夹包括子文件夹下面的某个文件复制到另一个目录下
    html不识别<br/>,后台返回<br/>,前端不换行解决办法
    C# Task的应用
    c# 生成json字符串和解析json字符串处理
    在 C# 中将 List<dynamic> 转换为 List<string>
    C#读取主从文件的excel并把结果为pass的文件打包
  • 原文地址:https://www.cnblogs.com/fyql/p/11407142.html
Copyright © 2011-2022 走看看