就是愛分享
Spring最初是Rod Johnson在2002年由其著作Expert One-on-One: J2EE Design and Development中提出的,另外一本書Expert One-on-One J2EE Development without EJB更進一步闡述了在不使用EJB(Enterprise JavaBean)開發J2EE企業級應用的一些設計思想和具體的作法(題外話:EJB是sun的伺服器端元件Model,最大的用處是部署分散式應用程式,類似微軟的.com技術。Sun在2006年5月2日發布了JSR 220定義,也就是EJB3.0,企圖減輕EJB以往開發過於複雜以及不必要的負擔。參見-伺服器端元件Model-EJB3.0(Enterprise JavaBean 3.0)論述)。

Spring在2004年初發佈1.0版本,到2006年10月3日發佈了2.0版本,基本上維持著每半年就會有一次大的更新,可到http://www.springsource.org/下載最新版本的Spring。

Spring是一個應用於J2EE領域的輕量應用程式框架,其核心是一個IoC(Inversion of Control)以及AOP(Aspect-oriented programming)。在核心上面的一個主要部份是資料存取DAO框架,包括一個自己的JDBC資料存取封裝以及對眾多ORM框架的工具集支持。Spring內置了一個功能強大、靈活的Web MVC框架Spring MVC框架,以提供快速的Java Web應用程式開發,在程式開發中,程式開發者可以直接使用Spring框架內建的Spring MVC框架。除此之外,對於現在比較流行的各種層面上的框架(如Hibernate、JSF、Struts等),Spring也提供了與它們相互整合的方案。

Spring框架系統架構如圖,從圖中看出Spring提供了很多J2EE應用的基礎設施及解決方案,便於開發J2EE應用。



其中Core是框架的最基礎部分,提供IoC(Inversion of Control,控制反轉)和DI(Dependency Injection,依賴注入)特性。所謂的控制反轉是指控制權由程式改到Spring Container(容器),控制權的移轉,是所謂的反轉;或可說是依賴注入,將原先程式間的耦合降到最低,改由Spring容器注入程式間的關連。使用IoC通常會使得程式碼非常清晰,更為重要的是,IoC可以使得程式碼之間、類別與類別之間有很好的解耦性。DI有三種形式:Setter-based、Constructor-based、Getter-based,Spring推薦使用第一種方式,Setter-based類似典型的JavaBean,帶有一個無參數的構造函數和setter方法。

BeanFactor代表了Spring的心臟,可以配置和管理幾乎所有的Java類別,在存取和操作IoC的初期充當了IoC容器的作用。然而在大多數的情況之下,不會直接使用BeanFactor而是使用ApplicationContext,因為ApplicationContext具有更多的企業級特性如多國語言支援、資源存取、事件傳播和多實例載入等等。

Bean在Spring容器中大致要經歷以下四個階段:Bean定義、初始化、準備狀態以及銷毀。

Spring的AOP是OOP(物件導向程式設計)的延續,提供了符合AOP Alliance規範的層面導向程式設計(Aspect-Oriented Programming)的具體實現,讓使用者可以定義,像方法攔截器(method-interceptors)和切入點(PointCuts),從軟體設計上看,通過這樣的方式可以降低耦合性(coupling),提高內聚性(cohesion),從而在軟體結構上得到改善。

DAO模式是一種資料存取物件模式,它通過抽象方法來提供資料存取的介面,這樣便消除了冗長乏味的JDBC編碼,並且通過這樣的封裝方式更容易為程式設計提供介面,而且對所有的POJO適用。

ORM封裝提供了物件關係對應的API介面,使用ORM工具集的產品除了提到過的Hibernate,還包括了如JDO等產品。
<未完 待補充更新>

閱讀全文...
標籤: 0 意見 | | edit post
就是愛分享

↑光榮的傳說

今年專題製作觀摩競賽
入圍的每一個隊伍絕對都是強勁對手
尤其將「程式設計班」和「網際網路資料庫設計班」分在「程式設計類」一起比
另外還特別加入「遊戲軟體程式設計班」
所以能夠得到冠軍...
特別感到意外和驚喜!
也慶幸能夠為文化大學再續光榮的傳說!

在參加競賽之前
就已經聽說活動會場全館雖然有提供無線網路
但因網路品質不佳
所以主辦單位建議作品展示時儘量不要連結上網
以免影響簡報成果
可是我們專題首頁的一部份就是Google MAP
根本無法不能連上網路
所以我就特別製作了五個單元的錄影檔

幸運的是評審委員來到我們攤位展示作品時,網路都很順暢;
簡報時,利用錄影檔也很順利地完成評審委員的提問和展示。
另外在簡報時評審委員對於我們的文件製作之完整
以及認真學習的態度特別讚許!
尤其是文獻調查、系統測試、部署和上線文件更是其他隊伍少有的
或許這是我們脫穎而出的關鍵吧!

最後要謝謝每個夥伴們盡心盡力地完成我們當初設定的目標
也要感謝老師的指導
才能創造光榮的傳說!

----- 學長、學姊們的分享 -----
2007 場地王
2008 KA DA CHA新風潮 - 車由自組

閱讀全文...
標籤: 0 意見 | | edit post