我的第一篇优快云博客

本文介绍了Spring框架,它是分层的Java轻量级开源框架,以IoC和AOP为内核。阐述了其优点,如非侵入式设计、方便解耦等。还介绍了Spring的体系结构,包含核心容器、数据访问/集成等模块。最后说明了Spring的下载方式及所需JAR包。

什么是spring

Spring 是由 Rod Johnson 组织和开发的一个分层的 Java SE/EE fu stack (一站式)轻级开源框架,它以 loC ( Inversion of Control ,控制反转)和 AOP ( Aspect Oriented Programming , 面向切面编程)为内核,使用基本的 JavaBean 来完成以前只可能由 EJB ( Enterprise Java Beans , Java 企业 Bean) 完成的工作,取代了 EJB 的靡肿 低效的开发模式

spring框架的优点

Spring 具有简单、可测试和松辑合等特点,从这个角度出发, Spring 不仅可以用于服务器
端开发,也可以应用于任何 Java 应用的开发中 关于 Spring 框架优点的总结,具体如下
1。非侵入式设计
Spring 是一种非侵入式 non-invasive )框架,它可以使应用程序代码对框架的依赖最小化
2。方便解楠 简化开发
Spring 就是一个大工厂,可以将所有对象的创建和依赖关系的维护工作都交给 Spring 容器
管理,大大地降低了组件之间的搞合性
3。支持 AOP
Spring 提供了对 AOP 的支持,它允许将一些通用任务,如安全 事务 曰志等进行集中式
处理,从而提高了程序的复用性
4。支持声明式事务处理
只需要通过配置就可以完成对事务的管理,而无须手动编程
5。方便程序的测试
Spring 提供了对 Junit4 的支持,可以通过注解方便地测试 Spring 程序
6。方便集成各种优秀框架
Spring 不排斥各种优秀的开源框架,其内部提供了对各种优秀框架(如 Struts Hibernate
MyBatis Quartz 等)的直接支持
7。降低 Java EE API 的使用难度
Spring Java EE 开发中非常难用的一些 API (如 JDBC JavaMail 等),都提供了封装,
使这些 API 应用难度大大降低

spring的体系结构

Spring 框架采用的是分层架构,它一系列的功能要素被分成 20 个模块,这些模块大体分为
Core Container Data Access/lntegration Web AOP (Aspect Oriented Programming)
Instrwmentation , Messaging Test
1-1 pring 的体系
在图 1-1 中,包含 Spring 框架的所有模块,其中,灰色背景模块为本书中所涉及的主要
模块 接下来分别对体系结构中的模块作用进行简单介绍,具体如下
1: Core Container (核心窑器)
Spring 的核心容器是其他模块建立的基础,它主要由 Beans 模块、 Core 模块 Conte
Conte t- upport 模块和 SpEL ( Spring Expression Language , Spring 表达式语言)模块
组成,具体介绍如下
• Beans 模块:提供了 BeanFa tory ,是工厂模式的经典实现, Spring 将管理对象称为 Bean
• Core 核心模块:提供了 Spring 框架的基本组成部分,包括 loC DI 功能
• Conte 上下文模块: 立在 Core Beans 模块的基础之上,它是访问定义和配置的任
何对象的媒介 其中 ApplicationConte 接口是上下文模块的焦点
• Context-support 模块:提供了对第三方库嵌入 Spring 应用的集成支持,比如缓存
( EhCache Guava JCache) 邮件服务 (JavaMail) 任务调度( CommonJ Quartz) 和模
板引擎( FreeMarker JasperReports 速率)
• SpEL 模块:是 Spring 后新增的模块,它提供了 Spring Expression Language 支持,
是运行时查询和操作对象图的强大的表达式语言
2. Data Access/lntegration (戴帽访问 集成)
数据访问/集成层包括 JDBC ORM OXM JMS Transactions 模块,真体介绍如下
• JDBC 模块:提供了一个 JDBC 的抽象层,大幅度地减少了在开发过程中对数据库操作的
编码
.ORM 模块:对流行的对象关系映射 API ,包括 JPA JDO Hibernate 提供了集成层
4 Java EE 企业银应用开发放程( Spring+Spring MVC+MyBatis )
支持
.OXM 模块:提供了一个支持对象/XML 映射的抽象层实现,如 JAXB Castor XMLBeans
JiBX XStream
• JMS 模块:指 Java 消息传递服务,包含使用和产生信息的特性,自 版本后支持与
Spring-message 模块的集成
• Transactions 事务模块:支持对实现特殊接口以及所有 POJO 类的编程和声明式的事
务管理
3. Web
Spring Web 层包括 WebSocket Servlet Web Portlet 模块,具体介绍如下
• WebSocket 模块: Spring 4.0 以后新增的模块,它提供了 WebSocket SockJS 的实现,
以及对 STOMP 的支持
• Servlet 模块:也称为 Spring-webmvc 模块,包含了 Spring 的模型一视图一控制器(MVC)
REST Web Services 实现的 Web 应用程序
• Web 模块:提供了基本的 Web 开发集成特性,例如: 多文件上传功能 使用 Servlet
听器来初始化 loC 容器以及 Web 应用上下文
• Portlet 模块:提供了在 Portlet 环境中使用 MVC 实现,类似 Servlet 模块的功能
4. 翼他模块
Spring 的其他模块还有 AOP Aspects nstrumentation 以及 Test 模块,具体介绍如下
• AOP 模块:提供了面向切面编程实现,允许定义方法拦截器和切入点,将代码按照功能
进行分离,以降低搞合性
• Aspects 模块:提供了与 AspectJ 的集成功能, AspectJ 是一个功能强大且成熟的面向切
面编程 (AOP) 框架
• Instrumentation 模块:提供了类工具的支持和类加载器的实现,可以在特定的应用服务器
中使用
• Messaging 模块: Spring 4.0 以后新增的模块,它提供了对消息传递体系结构和协议
的支持
• Test 模块:提供了对单元测试和集成测试的支持

Spring 的下载

Spring 的第一个版本是在 2004 年发布的,经过 10 多年的发展, Spring 的版本也在不断地
升级优化中 本书编写时, Spring 的最新版本为 3.6 ,本书的代码都是基于该版本编写实现的,
建议读者也下载该版本
Spring 开发所需的 JAR 包分为两个部分,具体如下

  1. Spring 框架包
    Spring 4.3.6 版本的框架压缩包,名称为 spring-framework-4.3.6.RELEASE-dist. zip ,此
    压缩包可以通过地址 ''http://repo.spring.io/simple/libs-release-Ioca l/org/springframework/spring/
    4.3.6.RELEASE/" 下载 下载完成后,将压缩包解压到自定义的文件夹中
    docs 文件夹中包含 Spring API 文档和开发规范 libs 文件夹中包含
    开发需要的 JAR 包和源码 schema 文件夹中包含开发所需要的 schema 文件,这些文件中定
    义了 Spring 相关配置文件的约束
    libs 目录中的 JAR 包分为三类,其中以 RELEASE jar 结尾的是 Spring
    框架 class 文件的 JAR 包;以 ELEASE - javadoc. jar 结尾的是 Spring 框架 API 文档的压缩包;
    RELEASE-sources jar 结尾的是 Spring 框架源文件的压缩包 整个 Spring 框架由 20 个模块
    组成,该目录下 Spring 为每个模块都提供了这三类压缩包
    libs 目录中,有四个 Spring 的基础包,它们分别对应 Spring 核心容器的四个模块,具体
    介绍如下
    • spring-core-4.3 RELEASE jar: 包含 Spring 框架基本的核心工具类, Spring 其他组件
    都要用到这个包里的类,是其他组件的基本核心
    • spring-beans-4 6.RELEASE.jar: 所有应用都要用到的 JAR 包,它包含访问配置文件
    创建和管理 Bean 以及进行 Inversion of Control(loC)或者 Dependency Injection(DI)操作相关的
    所有类
    6 Java EE 企业银应用开发被程( Spring+Spring MVC+MyBatis )
    • spring-context -4.3.6.RELEASE.jar: Spring 提供了在基础 loC 功能上的扩展服务,还提
    供了许多企业级服务的支持,如邮件服务、任务调度、 JNDI 定位、 EJB 集咸、远程访问、缓存
    以及各种视图层框架的封装等
    • spring-expression-4.3 6.RELEASE.jar: 定义了 Spring 的表达式语言
    第三万依赖包
    在使用 Spring 开发时,除了要使用自带的 JAR 包外, Spring 的核心容器还需要依赖
    commons.logging JAR JAR 包可以通过网址 “hUp://commons.apache org/proper/
    commons-logging/download_logging.cgi” 下载 下载完成后,会得到一个名为 commonslogging-1 2-bin.zit 的压缩包 将压缩包解压到自定义目录后,即可找到 commons-Iogging-jar
    初学者学习 Spring 框架时,只需将 Spring 个基础包以及 commons-logging-1.2 jar
    复制到项目的 lib 目录,并发布到类路径中即可
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值