Spring以反向控制和AOP这2种先进的设计理念为基础。统一了应用对象的查找、配置和生命周期管理,分离了业务与基础服务中的不同关注点。
在业务层,Spring为企业级应用提供了一个相当全面的解决方案。这个方案包括数据库持久化支持、声明式事务管理、远程服务访问,以及JMS、Mail、定时等多种企业服务。
在WEB层,Spring为企业级应用提供了一个MVC框架,该框架与其他流行的Web框架相比毫不逊色;而且Spring可以集成各种Web框架和视图技术。
Java可以实现使用分布的模块来建立一个复杂的系统,他们为Applet而来,为组件而留。
复杂的系统往往需要一些JavaBeans无法直接提供的服务,如事务支持、安全、分布计算等,所以在1998年3月,Sun发不了EJB1.0规范。它把Java组件扩展到服务器端,提供了很多必须的企业级服务,但是它不像原来的JavaBean那样简单了。
现在Java组件开发重新焕发青春,很多新技术包括AOP和Ioc为JavaBean提供了很多EJB才拥有的强大功能,为JavaBeans提供了类似于EJB那样的声明式编码模型,同事没有带来任何像EJB那样的复杂问题。
首先为什么要使用EJB,如果没有使用实体Bean,所以没有使用持久化服务,同样如果没有使用远程服务和安全服务。就没有必要使用EJB.EJB之所以复杂是因为EJB是为解决复杂问题而设计的,如分布式对象和远程事务的问题。
作为一个开发者,你始终应该为你的系统找到最好的设计而不是实现。Spring背后的理念是让你的系统按照你的需求尽量简单。如果你需要的只是使用简单Java对象来提供一些支持透明事务的服务的话,使用Spring就足够了。
使用Spring,你的Bean通过接口与它的关联类通信。因为不依赖任何特殊实现,所以采用Spring的系统是松耦合的,易测试的和易维护的。
因为开发Spring应用系统使用的都是JavaBeans,所以测试很简单。你不需要启动J2EE容器,因为你测试的是一个POJO.
Spring是为简化企业级系统开发而诞生的。使用Spring,你可以用简单的JavaBeans来实现那些以前只有EJB才能实现的功能。
Spring是一个轻量级的Ioc和AOP容器框架
轻量级:Spring是非侵入式的,基于Spring开发的系统中的对象一般不依赖于Spring的类。
反向控制:使用IOC,对象是被动接收依赖类而不是自己主动去找。可以将IOC理解为JNDI的反转-对象不是从容器中查找它的依赖类,而是容器在实例化对象的时候主动将它的依赖类注入给它。
面向切面:通过将业务逻辑从系统服务中分离出来,实现了内聚开发。系统对象只做它们该做的-业务逻辑,它们不负责其他系统问题(如日志和事务支持)。
容器:Spring是一个容器,是因为它包含并且管理系统对象的生命周期和配置。
框架:Spring实现了使用简单的组件配置组合成一个复杂的系统。
posted on 2009-10-12 21:09
王永庆 阅读(195)
评论(0) 编辑 收藏 所属分类:
SPRING