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导入项目流畅多了!赞

总结

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

posted @ 2018-07-10 23:12  小漆同学  阅读(114)  评论(0编辑  收藏  举报