没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
一、 Spring Framework 概览
spring Framework 是一个轻量级的解决方案,是
一站式
构建企业级应用的一种选择。
同时,Spring 是模块化的,您可以仅仅使用需要的部分。您可以仅使用 IoC 容器,在上
层使用任意 web 框架;您也可以只使用 Hibernate
集成代码 或者 JDBC
抽象层 。
Spring Framework 支持声明式的事务管理,支持通过 RMI 或 Web 服务远程访问您
的逻辑,支持以多种方式持久化数据,它提供了一个功能全面的 MVC
框架 ,还能在您未
察觉的情况下将 AOP
功能集成到软件中。
Spring 被设计成非侵入式的,这意味着您的领域逻辑代码通常不依赖于框架本身。在集
成层(比如数据访问层)会存在对数据访问技术的依赖和 Spring 的库。但是,使您代码
库的其他部分与这些依赖隔离应该是非常容易的。
这份文档是关于 Spring Framework 功能的参考指南。如果您对本文档有任何要求、意
见或疑问,请发送到用户邮件列表。关于框架本身的问题,应当在 StackOver!ow 上进
行求教(参阅 https://spring.io/questions)
1.Spring 入门
本参考指南提供了有关 Spring Framework 的详细信息,为 Spring 的全部特性提供了
详尽的文档,还有一些关于 Spring 信奉的基础概念(如“依赖注入”)的背景介绍。
如果您是刚开始使用 Spring,可能希望通过创建一个基于 Spring Boot
的应用程序来
开始使用 Spring Framework。Spring Boot 提供了一个快速的(而且固执的
(opinionated))方式来构建一个可用于生产环境的基于 Spring 的程序,它基于
Spring Framework,支持
约定优于配置
,而且被设计为能使您尽快上手并运行。
您可以使用 start.spring.io
生成一个基础项目,或者遵循“入门”指南中的某一个,比如
构建
REST
风格的
Web
服务入门 。为了易于理解,这些指南都
专注于特定任务
,其中多
数基于 Spring Boot,还涵盖了一些源自 Spring 选集(portfolio)的项目,当您处理
某个特殊问题时可能会用到。
2.Spring Framework 介绍
Spring Framework 是一个为开发 Java 应用程序提供全方位基础架构支持的 Java 平台。
基础架构由 Spring 负责,所以您可以专注于您的程序。
Spring 使您可以从“普通 Java 对象”(POJO)开始构建应用程序,并将企业服务非侵入
式地应用到 POJO 中。这种能力适用于 Java SE 编程模型和全部或部分的 Java EE。
下面是一些作为程序开发者如何从 Spring 平台获益的例子:
在一个数据库事务中执行 Java 方法,而不必涉及事务 API
使一个本地 Java 方法成为 HTTP 端点,而不必涉及 Servlet API
使一个本地 Java 方法能处理消息传递,而不必涉及 JMS API
使一个本地 Java 方法能执行管理操作,而不必涉及 JMX API
2.1依赖注入和控制反转
Java 应用程序——范围从受限的、嵌入式的应用到 N 层的、服务器端的企业应用——通常
由协作形成该程序的对象构成,因此一个应用程序中的对象彼此依赖。
虽然 Java 平台提供了大量的程序开发功能,但是它缺少将基础构建块组成一个整体的工具,
而将此任务留给了架构师和开发者。尽管可以利用设计模式(比如 Factory、Abstract
Factory、Builder、Decorator 和 Service Locator)来组合各个类和对象实例以构成应
用程序。设计模式简单来说就是一个给定名称的最佳实践,同时描述了该模式做了什么、在
哪里应用它以及它解决了什么问题。然而模式是形式化的最佳实践,您必须亲自在程序中实
现它们。
Spring Framework 的控制反转(IoC)组件解决了这种顾虑,它提供了一套固定的方法将
不同的组件组合成完整的、随时可用的应用程序。Spring Framework 将形式化的设计模
式编纂其中,并作为第一等的对象以便您能集成到自己的程序中。众多组织和机构都这样使
用 Spring Framework 来设计健壮、可维护的应用。
背景
“问题是,控制的哪个方面被反转了?”2004 年,Martin Fowler 在自己网站上提出了这个
关于控制反转(IoC)的问题。Fowler 建议为了使这一原理更加自明(self-
explanatory),将其重命名为 Dependency Injection(依赖注入)。
2.2.1 核心容器
核心容器
由 spring-core、spring-beans、spring-context、spring-context-support 和
spring-expression(Spring 表达式语言)模块组成。
spring-core 和 spring-beans 模块提供了框架的基本组成部分,包括控制反转和依赖注入。
BeanFactory 是工厂模式的经典实现,免去了为得到单例亲自编写代码的必要,同时将配置
和依赖描述从实际的程序逻辑中解耦。
Context(spring-context)模块构建在 Core
模块和
Beans
模块
的坚实基础之上。它是一种
以框架式的方式访问对象的方法,有点像 JNDI 注册表。Context 模块继承了 Beans 模块的
功能,并增加了对国际化(例如使用资源绑定)、事件传播、资源加载以及上下文自动创建
(例如通过一个 Servlet 容器)的支持。Context 模块也支持 Java EE 的功能,如
EJB,JMX 和基本的远程处理。ApplicationContext 接口是 Conext 模块的焦点。spring-
context-support 提供了将常用的第三方库集成到 Spring 程序上下文的支持,如为缓存可以
集成 EhCache、Guava、JCache,为发送邮件可以集成 JavaMail,为任务调度可以集成
CommonJ、Quartz,为模板引擎可以集成 FreeMarker、JasperReports、Velocity。
spring-expression 模块提供了一个强大的在运行时查询和操作对象图的
表达式语言
,它是
JSP2.1 规范中规定的统一表达式语言(统一 EL)的一个扩展,支持设置和获取属性值、分
配属性、方法调用,支持访问数组、集合和索引的内容,支持逻辑和算术运算符、命名变量,
支持从 Spring 的 IoC 容器中按名字检索对象,还支持 list projection、list selection 以
及 list aggregations。
剩余63页未读,继续阅读
资源评论
XQ@Y
- 粉丝: 4
- 资源: 28
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功