- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Spring教程
作者:刘会军(jfmind@163.com)
2006年11月23日
spring概述 3
控制反转,还是依赖注入 3
面向方面编程 5
一致性抽象 5
事务管理 5
测试 5
与其它框架整合 5
控制反转 6
容器(container) 6
IoC类型 6
IoC in spring 7
DI with spring 11
AOP 12
定义 12
Aop类型 13
实现策略 13
aop设计问题 13
spring中的aop 14
spring工作原理 14
框架概述 14
使用场景 15
Bean工厂与应用程序上下文 18
事物管理 20
轻量级事务基础设施 20
spring事务管理 20
持久化 20
数据访问策略 20
持久化数据的缓存 21
资源管理 21
JDBC 21
IBATIS SQL 21
HIBERANTE 21
DAO 21
远程调用 22
RMI 22
EJB 22
JAX-RPC 22
Hessian 22
Burlap 22
Web层设计 22
设计目标 22
集成struts 23
测试 23
单元测试 23
可测试性 23
测试驱动开发 24
覆盖率分析与其他测试工具 24
性能与可伸缩性 24
定义 24
设置清晰的目标 24
体系结构的选择 25
不同实现的选择 25
调优和部署 25
一种循证的性能策略 25
Spring开发 25
最佳实践 25
参考 25
spring概述
Spring项目启动于2003年2月,其中基础代码来自《expert one-on-one j2ee design and development》。
Spring 是指一个用于构造Java 应用程序的轻量级框架,不限定于只编写web 应用,最少侵入。
Spring 的核心是个轻量级(Lightweight)的容器(Container),它是实现IoC(Inversion of Control)容器、非侵入性(No intrusive)的框架,并提供AOP(Aspect-oriented programming)概念的实现方式,提供对持久层(Persistence)、事务(Transaction)的支持,提供MVC Web 框架的实现,并对一些常用的企业服务API(Application Interface)提供一致的模型封装,是一个全方位的应用程序框架(Application framework),除此之外,对于现存的各种框架(Struts、JSF、Hibernate 等),Spring 也提供了与它们相整合的方案。
本质上讲,Spring是IOC(Inversion of Control)和面向切面编程(AOP)的组合体。它是一个非侵入式的框架,增强了POJO的功能。从服务上讲(With a service abstraction),它将程序代码从J2EE环境解耦到普通的java对象(自然,这些代码可以脱离J2EE而在多种环境中运行)。它还在很多功能上提供了除EJB之外的选择――比如为所有的POJO提供声明式事务。Spring被广泛运用到很多项目中,从小的web程序到大的企业应用程序。Spring 框架的核心基于“控制反转(Inversion of Control,IoC)”原理。IoC 是一种将组件依赖关系的创建和管理置于程序外部的技术。假设一个例子,类Foo 依赖于类Bar 的一个实例来进行某些操作。传统的方式,Foo 使用new 操作符创建一个Bar 的实例,或者通过某种工厂类来获得。使用IoC 方法,Bar 的一个实例(或者其子类的实例)是通过某些外部处理过程在运行时动态传递给Foo 的。这种在运行时注入依赖的行为方式,使得IoC 后来被改称为另一个含义更明确的名字:“依赖注入(Dependency Injection ,DI)”。
Spring 的DI 实现是基于两个Java 核心概念:JavaBean 和Interface。当你使用DI 的时候,你可以使得依赖配置与你的代码保持隔离。JavaBeans 提供了一种创建Java 资源的标准方法,并且这些资源是可以通过标准方式配置的。
接口与DI 是相互受益的技术,针对接口设计与编程有助于应用程序的灵活性,但要把采用接口设计的应用程序的各部分连接起来,其复杂度非常高,并且给开发者带来了额外的编码负担。通过采用DI,为基于接口的设计而编写的辅助代码大大减少了,近乎于零。反过来,通过采用接口,你可以获得DI 的最大好处,因为你的bean 可以采用任何满足其依赖的接口实现。
减少“粘合”代码:DI 带来的最大的好处之一就是,它可以奇迹般地消除你为了连接应用程序的各个部件而编写的大量代码。这些代码常常很简单而且琐碎——通过构造一个新的对象
文档评论(0)