• Spring 整体架构和环境搭建


    Spring 整体架构和环境搭建


    整体架构

    架构图[图片来源:https://yq.aliyun.com/articles/25646]

    Core Container

    核心容器,包含有Core、Beans、Context和Expression Language模块。
    CoreBeans模块是框架的基础部分,提供IoC(控制反转)和依赖注入特性。

    • Core:核心工具类,供其他组件调用,是其他组件的基本核心
    • Beans:包含配置文件、创建和管理bean以及Ioc和DI操作相关的所有类,其他模块都要用到Beans
    • Context:构建于Core和Beans模块基础之上,提供了类似JNDI注册起的框架式的对象访问方法。Context继承了Beans的特性,为Spring提供了大量的扩展(国际化(如:资源绑定)、事件传播、资源加载),支持J2EE的一些特性,如EJB、JMX和基础的远程处理
    • Expression Language:用于在运行时查询和操作对象

    Data Access/Integration

    包含JDBC、ORM、OXM、JMS和Transaction模块。

    • JDBC:包含Spring对JDBC数据访问进行封装的所有类
    • ORM:关系对象映射模型,例如Mybatis、Hibernate、API等。Spring插入了若干个ORM框架,包括JDO、HIbernate、iBatisSQL Map,所有这些都遵从Spring的通用事物和DAO异常层次结构

    Web

    web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。Web模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。web层包含了Web、Web-Servlet、Web-Struts和Web-Porlet模块。

    • Web模块:提供了基础的Web的集成特性,例如:文件上传、使用servlet listeners初始化IoC容器以及一个面向Web的应用上下文。
    • Web-Servlet模块:web.servlet.jar : 该模块包含Spring的model-view-controller(MVC)实现,是的模型范围内的代码和web forms之间能够清楚滴分离开来,并能够和Spring框架的其他特性集成在一起。
    • Web-Struts模块:
    • Web-Porlet模块:

    AOP

    遵循面向切面编程的协议,例如拦截器和切点,分离逻辑代码,降低耦合性

    • Aspects模块提供了对AspectJ的继承支持
    • Instrumentation模块提供了class instaumentation支持和classloader实现,使得可以在特定的应用服务器上使用

    Test
    支持使用JUnit和TestNg对Spring组件进行测试


    环境搭建(Mac)

    安装Gradle
    Homebrew 安装(略)

    > brew install gradle
    

    查看版本

    > gradle -v
    

    gradle版本

    下载Spring项目并导入
    安装git(略)
    clone代码

    git clone git://github.com/SpringSource/Spring-framework.git
    

    导入idea
    步骤: Open --> 选择spring-framework文件夹 --> 确定 --> 等待。。。
    idea下载spring依赖的jar包
    spring项目结构
    idea比eclipe导入项目流畅多了!赞

    总结

    从项目整体框架入手,了解核心组件,并为以后的阅读源码铺垫, 下一章将首次进入源码阅读。

    有梦为马,游历天涯!
  • 相关阅读:
    $dp$模板
    字符串基础
    基础算法

    图论
    山中无甲子,寒尽不知年
    模板集合(持续更新)
    数学基础——同余
    9.19 考试总结
    1-5-17:菲波那契数列
  • 原文地址:https://www.cnblogs.com/qijianguo/p/10180879.html
Copyright © 2020-2023  润新知