Spring源码深度解析(第2版) - (EPUB全文下载)
文件大小:0.36 mb。
文件格式:epub 格式。
书籍内容:
Spring源码深度解析(第2版)
第1部分 核心实现
第1章 Spring整体架构和环境搭建
第2章 容器的基本实现
第3章 默认标签的解析
第4章 自定义标签的解析
第5章 bean的加载
第6章 容器的功能扩展
第7章 AOP
第2部分 企业应用
第8章 数据库连接JDBC
第9章 整合MyBatis
第10章 事务
第11章 SpringMVC
第12章 远程服务
第13章 Spring消息
第3部分 Spring Boot
第14章 Spring Boot体系原理
第1部分 核心实现
第1章 Spring整体架构和环境搭建
第2章 容器的基本实现
第3章 默认标签的解析
第4章 自定义标签的解析
第5章 bean的加载
第6章 容器的功能扩展
第7章 AOP
第1章 Spring整体架构和环境搭建
Spring是于 2003 年兴起的一个轻量级Java开源框架,由Rod Johnson在其著作Expert One-On-One J2EE Design and Development中阐述的部分理念和原型衍生而来。Spring是为了解决企业应用开发的复杂性而创建的,它使用基本的JavaBean来完成以前只可能由EJB完成的事情。然而,Spring的用途不仅限于服务器端的开发,从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。
1.1 Spring的整体架构
Spring框架是一个分层架构,它包含一系列的功能要素,并被分为大约20个模块,如图1-1所示。
图1-1 Spring整体架构图
这些模块被总结为以下几部分。
1.Core Container
Core Container(核心容器)包含有Core、Beans、Context和Expression Language模块。
Core和Beans模块是框架的基础部分,提供IoC(转控制)和依赖注入特性。这里的基础概念是BeanFactory,它提供对Factory模式的经典实现来消除对程序性单例模式的需要,并真正地允许你从程序逻辑中分离出依赖关系和配置。
Core模块主要包含Spring框架基本的核心工具类,Spring的其他组件都要用到这个包里的类,Core模块是其他组件的基本核心。当然你也可以在自己的应用系统中使用这些工具类。
Beans模块是所有应用都要用到的,它包含访问配置文件、创建和管理bean以及进行Inversion of Control / Dependency Injection(IoC/DI)操作相关的所有类。
Context模块构建于Core和Beans模块基础之上,提供了一种类似于JNDI注册器的框架式的对象访问方法。Context模块继承了Beans的特性,为Spring核心提供了大量扩展,添加了对国际化(例如资源绑定)、事件传播、资源加载和对Context的透明创建的支持。Context模块同时也支持J2EE的一些特性,例如EJB、JMX和基础的远程处理。ApplicationContext接口是Context模块的关键。
Expression Language模块提供了强大的表达式语言,用于在运行时查询和操纵对象。它是JSP 2.1规范中定义的unifed expression language的扩展。该语言支持设置/获取属性的值,属性的分配,方法的调用,访问数组上下文(accessiong the context of arrays)、容器和索引器、逻辑和算术运算符、命名变量以及从Spring的IoC容器中根据名称检索对象。它也支持list投影、选择和一般的list聚合。
2.Data Access/Integration
Data Access/Integration层包含JDBC、ORM、OXM、JMS和Transaction模块。
JDBC模块提供了一个JDBC抽象层,它可以消除冗长的JDBC编码和解析数据库厂商特有的错误代码。这个模块包含了Spring对JDBC数据访问进行封装的所有类。
ORM模块为流行的对象-关系映射API,如JPA、JDO、Hibernate、iBatis等,提供了一个交互层。利用ORM封装包,可以混合使用所有Spring提供的特性进行O/R映射,如前边提到的简单声明性事务管理。
Spring框架插入了若干个ORM框架,从而提供了ORM的对象关系工具,其中包括JDO、Hibernate和iBatisSQL Map。所有这些都遵从Spring的通用事务和DAO异常层次结构。
OXM模块提供了一个对Object/XML映射实现的抽象层,Object/XML映射实现包括JAXB、Castor、XMLBeans、JiBX和XStream。
JMS(Java Messaging Service)模块主要包含了一些制造和消费消息的特性。
Transaction模块支持编程和声明性的事务管理,这些事务类必须实现特定的接口,并且对所有的POJO都适用。
3.Web
Web上下文模块建立在应用程序上下文模块之上,为基于Web的应用程序提供了上下文。所以,Spring框架支持与Jakarta Struts的集成。Web模块还简化了处理大部分请求以及将请求参数绑定到域对象的工作。Web层包含了Web、Web-Servlet、Web-Struts和Web-Porlet模块,具体说明如下。
Web模块:提供了基础的面向Web的集成特性。例如,多文件上传、使用servlet listeners初始化IoC容器以及一个面向Web的应用上下文。它还包含Spring远程支持中Web的相关部分。
Web-Servlet模块web.servlet.jar:该模块包含Spring的model-view-controller(MVC)实现。Spring的MVC框架使得模型范围内的代码和web forms之间能够清楚地分离开来,并与Spring框架的其他特性集成在一起。
Web-Struts模块:该 ............
以上为书籍内容预览,如需阅读全文内容请下载EPUB源文件,祝您阅读愉快。
书云 Open E-Library » Spring源码深度解析(第2版) - (EPUB全文下载)