(总结) spring源码深度解析 - Spring整体架构和环境搭建

参考书籍: Spring 源码深度解析 第二版

概述: Spring是为了解决企业应用开发的复杂性而创建的, 它使用基本的JavaBean来完成以前只可能由EJB完成的事情.

一.Spring整体架构

1.Core Container

包含四个模块: core, beans, context, expression language

Core 核心工具类, 是其他组件的核心.

Beans 访问配置文件,创建和管理bean以及进行Inversion of Control和Dependency Injection (IoC/DI)操作相关的类.

Context 构建于Core和Beans模块基础之上, 提供框架式的对象访问方法.

Expression Language 提供了强大的表达式语言, 用于在运行时查询和操纵对象.

2.Data Access/Integration

包含JDBC, ORM, OXM, JMS和Transaction模块

JDBC 包含了Spring对JDBC数据访问进行封装的所有类, 可以消除冗长的JDBC编码和解析数据库厂商特有的错误代码.

ORM 为流行的对象-关系映射API, 如JPA, JDO, Hibernate, iBatis等,提供了一个交互层.

OXM 提供了一个对Object/XML映射实现的抽象层.

JMS 主要包含了一些制造和消费消息的特性

Transaction 模块支持编程和声明性的事务管理, 这些事务类必须实现特定的接口, 并且对所有的POJO都适用.

3.Web 

包含Web, Web-Servlet, Web-Structs和Web-Porlet模块

Web 提供了基础的面向Web的集成特性. 例如, 多文件上传, 使用servlet listeners初始化IoC容器以及一个面向Web的应用上下文.

Web-Servlet 包含Spring的model-view-controller(MVC)实现.

Web-Structs 提供对Structs的支持. 在Spring 3.0中被弃用.

Web-Porlet 提供了用于Portlet环境和Web-Servlet模块的MVC的实现.

4.AOP

AOP模块提供了一个符合AOP联盟标准的面向切面编程的实现,他可以让你定义例如方法拦截器和切点, 从而将逻辑代码分开, 降低他们之间的耦合性.

5.Test

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

二.Spring环境搭建

jdk版本:1.8

IntelliJ Idea版本:ULTIMATE 2018.3

部署容器: jetty

启动参数: jetty:run

初始化工程地址:  https://github.com/w20810/learnspring5 

你可能感兴趣的:(spring)