`
jredfox
  • 浏览: 6660 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
最近访客 更多访客>>
社区版块
存档分类
最新评论

介绍Spring框架(一)

阅读更多
作者:Rod Johnson 译者:蔡移华

你可能在这个夏天已经听到了Spring框架正在逼近的嗡嗡声。在本文中,我将介绍Spring是什么以及为什么我相信它有助于你开发J2EE应用。
仅仅是另外一个框架?
你可能一直在想“不就是另外一个框架”。当已经有很多开源(或者商业)J2EE框架时,为什么你还要读这篇文章,或下载Spring框架呢?
但我基于几个理由相信Spring是唯一的:
它的功能是其它很多流行的框架所不具备的。Spring主要提供了一种管理你的业务对象的方式。
Spring既有可扩展性,也是组件化的。Spring采用了分层架构,这意味着你能仅仅选择它的任何一部分单独使用,然而它的结构也是具备内在一致性的。所以你从你的学习曲线能获得最大价值。例如,你可以选择使用Sping仅仅为了简化JDBC的使用,你也可以选择使用Spring来管理你的所有业务对象。
它从基础向上的设计有助于你写容易测试的代码。Spring是可供测试驱动项目使用的理想框架。
Spring不是项目中必须依赖的框架。Spring是潜在的一站式商店,更多关注于典型应用的基础构造关系。它也提供其它框架没有的功能。
尽管它只是一个从2003年2月开始的开源项目,Sping有很长的传统。这个开源项目开始于我在2002年晚些时候出版的书《Expert One-on-One J2EE Design and Development》其中的基础构造代码。《Expert One-on-One J2EE》也表明在Sping之后的基本框架思想。然而,这些框架思想又追溯到2000年早些时候,它反映了我在一系列成功的商业项目中开发基础构造的经验。
自从2003年1月以来,Spring就落户于SourceForge。现在有10个开发人员,其中有6个是非常活跃的。

Spring框架的优点
在我们进入到细节之前,让我们先看看Spring能带给项目的一些好处:
Sping能有效的组织你中间层的对象,无论你是否选择使用EJB。如果你仅仅使用Struts或其它框架来连接特定的J2EE API,Spring takes care of plumbing that would be left up to you。
Sping能消除在很多项目中看到的Singleton的繁殖。依我的经验,这是一个主要问题,减少了易测性和面向对象。
通过在整个应用和项目中以一致的方式处理配置问题,Sping消除了使用多种自定义属性文件格式的需要。Ever wondered what magic property keys or system properties a particular class looks for, and had to read the Javadoc or even source code?使用Sping你只是看着类的JavaBean属性就可以了。控制倒转(下面讨论)的使用有助于这个简化。
Sping通过接口而不是类编程来减少代价,几乎是零,这样使好的编程实践便利。
设计Sping是为了使基于它构建的应用依赖于尽可能少的API。在Sping应用中的大多数业务对象不依赖于Sping。
使用Sping构建的应用很容易单元测试。
Sping是使用EJB成为一种实现选择,而不是应用架构的决定性因素。你可以选择实现如POJO或local EJB的业务接口而不影响调用的代码。
Sping有助于你不使用EJB解决很多问题。Sping能为很多Web应用提供EJB之外的合适选择。例如,Sping能使用AOP来进行事务管理而不使用EJB容器,甚至不需要JTA实现,如果你只需要在单个数据库上工作。
Sping为数据访问提供了一致性的框架,无论使用JDBC还是如Hibernate的O/R mapping产品。
Sping真正的能帮助你针对问题实现最简单的可能解决方案。并且它的价值不仅仅在于此。

Sping能干什么?
Sping提供了很多功能,所以我依次快速描述一下主要领域。
分享到:
评论

相关推荐

    Spring框架的简单实现

    我们从一个简单的容器开始,一步步的重构,最后实现一个基本的Spring框架的雏形,为了帮助我们更加深入的理解Spring的IoC的原理和源码。 详细内容见博文: 【SSH进阶之路】一步步重构容器实现Spring框架——从一个...

    Spring框架开发参考中文手册

    《Spring框架开发参考中文手册》是一本专门为Java开发者设计的指南,旨在帮助他们深入理解和熟练运用Spring框架进行软件开发。Spring作为Java企业级应用开发的主流框架,以其强大的功能、灵活的设计和广泛的社区支持...

    spring框架api中文版.zip(spring开发手册)

    介绍Spring框架 1.1。 依赖注入和控制反转 1.2。 模块 1.2.1。 核心容器 1.2.2。 数据访问/集成 1.2.3。 web 1.2.4。 AOP和仪表 1 2 5。 测试 1.3。 使用场景 1.3.1。 依赖关系管理和命名约定 Spring依赖和依靠弹簧...

    Spring框架.ppt

    提供Spring框架的基本功能,其主要组件是BeanFactory,是工厂模式的实现。 Spring 上下文。向Spring 框架提供上下文信息,包括企业服务,如 JNDI、EJB、电子邮件、国际化、校验和调度等。 Spring AOP。通过配置管理...

    spring 框架介绍

    Spring框架是中国著名的开源Java企业级应用开发框架,由Rod Johnson在其著作《Expert One-on-One J2EE Design and Development》中首次提出。它以其强大的功能、模块化的设计和对 inversion of control (IoC) 及 ...

    Spring框架参考手册

    #### 一、Spring框架概览 - **1.1 开始使用Spring** - Spring框架作为一个广泛使用的轻量级Java应用框架,为开发者提供了全面的解决方案,帮助他们构建高性能、可扩展的企业级应用程序。 - **1.2 Spring框架介绍*...

    spring框架帮助文档

    Spring框架是中国IT开发领域中最广泛使用的Java应用框架之一,它为构建高质量的、松耦合的、可测试的Java应用程序提供了全面的解决方案。这个“spring框架帮助文档”旨在为开发者提供详尽的指导,帮助他们克服在使用...

    第一次搭建Spring框架

    Spring框架是Java开发中最常用的轻量级框架之一,它的出现极大地简化了企业级应用的开发。本教程将详细讲解如何进行第一次Spring框架的搭建,帮助初学者快速入门。 首先,理解Spring的核心特性至关重要。Spring主要...

    Spring框架jar 文件

    Spring框架是中国Java开发领域中的一个核心支柱,它以其强大的功能和灵活性深受开发者喜爱。这个压缩包包含的是Spring框架的核心JAR文件,对于任何Java开发者,尤其是那些致力于企业级应用开发的人来说,这些都是必...

    spring框架外文文献.docx

    Spring框架基础 Spring框架起源于Rod Johnson在2002年出版的《Expert One-on-One J2EE Design and Development》中的代码。这个框架融合了Java企业版(JEE)开发的最佳实践,与一流的第三方框架集成,并提供了简单...

    java spring框架学习资料 pdf

    《Java Spring框架学习指南》是一份详尽的教育资源,旨在帮助开发者从零基础开始逐步掌握Spring框架,并深入理解其核心概念和技术。这份PDF文档全面覆盖了Spring框架的基础知识,包括IoC(Inversion of Control)...

    Spring 框架简介

    通过以上介绍可以看出,Spring框架不仅仅是一个简单的Java开发框架,它已经成为一个完整的生态系统,涵盖了从基础的IoC容器到复杂的Web应用开发等各个方面。对于Java开发者来说,掌握Spring框架是非常重要的技能之一...

    Spring框架开发手册

    Spring框架是由Rod Johnson创建的开源框架,旨在解决企业应用...Spring框架的广泛性和深度使得它成为Java生态系统中不可或缺的一部分,对于任何对Java企业级开发感兴趣的开发者来说,掌握Spring框架都是必备技能之一。

    Spring框架学习笔记

    这份"Spring框架学习笔记"涵盖了Spring框架的基础知识、核心组件以及高级特性,对于初学者来说是一份宝贵的资料。 一、Spring框架概述 Spring框架是为了解决企业应用开发的复杂性而设计的,它提供了一个全面的基础...

    spring框架电子书

    总之,《Spring框架电子书》是一本全面介绍Spring框架的资源,无论你是初学者还是经验丰富的开发者,都能从中获取到有价值的信息,提升你的Spring开发技能。通过阅读这本书,你将能够熟练地利用Spring构建高质量、可...

Global site tag (gtag.js) - Google Analytics