章节内容
-
Spring IOC技术实现
-
Spring IOC设值注入
-
Spring IOC构造注入
章节目标
-
掌握Spring IOC技术实现
-
掌握Spring IOC设置注入
-
掌握Spring IOC构造注入
第一节 Spring简介
1. Spring 简介
Spring 是目前主流的 Java 开发框架,是 Java 世界最为成功的框架。其目的是用于简化企业级应用程序开发的难度和周期,任何 Java 应用都可以从 Spring 中受益。Spring 框架还是一个超级粘合平台,除了自己提供功能外,还提供粘合其他技术和框架的能力。
什么是框架? 框架是一个半成品,提供了基本的运行功能,但具体业务实现需要我们去编写。
2. Spring体系结构
EL = Expression Language 表达式语言
SpEL = Spring Expression Language Spring表达式语言
2.1 Data Access/Integration
Data Access/Integration表示数据访问/集成层,包含了JDBC、ORM、OXM、JMS、Transactions模块。
JDBC 模块
提供了一个 JBDC 的样例模板,使用这些模板能消除传统冗长的 JDBC 编码还有必须的事务控制,而且能享受到 Spring 管理事务的好处。
ORM 模块
提供与流行的“对象-关系”映射框架无缝集成的 API,包括 JPA、JDO、Hibernate 和 MyBatis 等。而且还可以使用 Spring 事务管理,无需额外控制事务。
OXM 模块
提供了一个支持 Object /XML 映射的抽象层实现,如 JAXB、Castor、XMLBeans、JiBX 和 XStream。将 Java 对象映射成 XML 数据,或者将XML 数据映射成 Java 对象。
JMS 模块
指 Java 消息服务,提供一套 “消息生产者、消息消费者”模板用于更加简单的使用 JMS,JMS 用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。
Transactions 事务模块
支持编程和声明式事务管理。
2.2 Web
Spring 的 Web 层包括 Web、Servlet、WebSocket 和 Portlet 组件。
Web 模块
提供了基本的 Web 开发集成特性,例如多文件上传功能、使用的 Servlet 监听器的 IOC 容器初始化以及 Web 应用上下文。
Servlet 模块
提供了一个 Spring MVC Web 框架实现。Spring MVC 框架提供了基于注解的请求资源注入、更简单的数据绑定、数据验证等及一套非常易用的 JSP 标签,完全无缝与 Spring 其他技术协作。
WebSocket 模块
提供了简单的接口,用户只要实现响应的接口就可以快速的搭建 WebSocket Server,从而实现双向通讯。
Portlet 模块
提供了在 Portlet 环境中使用 MVC 实现,类似 Web-Servlet 模块的功能。
2.3 Core Container
Spring 的核心容器是其他模块建立的基础,由 Beans 模块、Core 核心模块、Context 上下文模块和 SpEL 表达式语言模块组成,没有这些核心容器,也不可能有 AOP、Web 等上层的功能。
Beans 模块
提供了框架的基础部分,包括控制反转和依赖注入。
Core 核心模块
封装了 Spring 框架的底层部分,包括资源访问、类型转换及一些常用工具类。
Context 上下文模块
建立在 Core 和 Beans 模块的基础之上,集成 Beans 模块功能并添加资源绑定、数据验证、国际化、Java EE 支持、容器生命周期、事件传播等。ApplicationContext 接口是上下文模块的焦点。
SpEL 模块
提供了强大的表达式语言支持,支持访问和修改属性值,方法调用,支持访问及修改数组、容器和索引器,命名变量,支持算数和逻辑运算,支持从 Spring 容器获取 Bean,它也支持列表投影、选择和一般的列表聚合等。