【IT168 技术文档】Spring是一个分层构架,意思是你可以选择只用它的一部分,而不影响其他。它的构架体系是内部相容的。所以,你将会在你的学习曲线中获得最大价值。
例如,你可以选择只用Spring 的JDBC 单一应用或者用Spring 管理你的业务对象。
Spring 可以有效的组织你的中间层对象,无论你是否选择了EJB. Spring关心的是那些如果你选择Struts或者其他的使用特定的J2EE APIs的框架而留给你自己完成的部件。
Spring可以消除在许多projects中出现的Singlton的大量使用。 以我的经验, 主要的问题是, 减弱了测试能力和面向对象。
Spring 可以消除规定多样的定制属性文件的需要, 用一致的配置操作贯穿整个应用和项目。多样的属性健或者系统属性寻找使你不得不去读Javadoc 或者甚至是源代码?然而,Sping可以使你非常简单地看到这些class 的JavaBean的属性。 倒置控制的用法(下面介绍)
可以帮助你完成简化。
Spring 可以使良好的编程习惯更容易培养,利用接口代替classes 减弱编程成本,降至最小。
Spring 的设计使依靠很少的APIs 建立应用成为可能。 在Spring 应用中的许多业务对象根本不要依靠Spring. 利用Sping 建立的应用使单元测试变得非常简单。
Spring 是使用EJB成为一个选择,优于成为决定性的应用构架。你可以选择作为POJOs或者local EJBs 扩展业务借口,而不影响调用代码。 Spring 可以帮助你解决没有EJB的许多的问题。
Spring可以提供适应许多web应用的EJB的替换方案……例如, Spring 可以借用AOP 提供声明事务管理,在不用EJB容器的情况下。 如果你只需要工作在单个的数据库上面, 甚至不用JTA 的支持。
Spring 提供了一致的数据访问框架, 无论用JDBC 或者像Hibernate 一样的O/R mapping 产品