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
王永慶 閱讀(201)
評論(0) 編輯 收藏 所屬分類:
SPRING