出版時(shí)間:2009-7 出版社:清華大學(xué)出版社 作者:(美)威爾德,斯尼德 等著,趙利通 譯 頁數(shù):432 譯者:趙利通
Tag標(biāo)簽:無
前言
開發(fā)基于服務(wù)器的系統(tǒng)一向比較復(fù)雜?,F(xiàn)在,一場悄悄興起的革命正在試圖簡化基于服務(wù)器的系統(tǒng)的開發(fā)工作。這場革命關(guān)注一些脆弱標(biāo)準(zhǔn)(比如Java2EnterpriseEdition,即J2EE)的輕量級替換方法,它的核心是基于簡單舊式Java對象(PlainOldJavaObject,POJO)進(jìn)行設(shè)計(jì),對處理與業(yè)務(wù)邏輯(比如登錄和事務(wù))正交的關(guān)注點(diǎn)的代碼進(jìn)行解耦,簡化編碼,以及實(shí)現(xiàn)長期可維護(hù)性。這場革命的中心就是稱為Spring架構(gòu)的Java架構(gòu)?! ”緯v解Spring架構(gòu)。事實(shí)上,本書是一本關(guān)于Spring架構(gòu)的介紹性書籍。與其他架構(gòu)不同,Spring架構(gòu)對于已經(jīng)具有解決商業(yè)問題經(jīng)驗(yàn)的開發(fā)人員(可能他們使用的是傳統(tǒng)服務(wù)器架構(gòu),如J2EE1.4)最為有用。與其他介紹性書籍不同的是,本書面向已經(jīng)具有Java應(yīng)用程序開發(fā)經(jīng)驗(yàn)。但是還不熟悉Spring架構(gòu)的開發(fā)人員?! 脑S多方面來講,本書都是一本與眾不同的技術(shù)書籍,因?yàn)槲覀儸F(xiàn)在生活在一個(gè)與以往不同的技術(shù)世界?,F(xiàn)今,由于網(wǎng)絡(luò)的可用性??稍L問性及功能的不斷增強(qiáng),許多圍繞數(shù)據(jù)驅(qū)動(dòng)?;诜?wù)器的系統(tǒng)的活動(dòng)和應(yīng)用程序應(yīng)運(yùn)而生。我們不再能夠假定每個(gè)基于Web的系統(tǒng)都通過某種方法被綁定到大型主機(jī)的數(shù)據(jù)上,同樣也不能假定每個(gè)基于服務(wù)器的應(yīng)用程序都會(huì)帶有面向企業(yè)的功能,比如復(fù)雜目錄服務(wù)。事務(wù)服務(wù)器或者龐大的安全子系統(tǒng)。事實(shí)上,多數(shù)現(xiàn)代服務(wù)器端的Java開發(fā)都圍繞一個(gè)需求——設(shè)計(jì)小型而敏捷的系統(tǒng),這樣的系統(tǒng)可以在業(yè)務(wù)改變時(shí)適應(yīng)業(yè)務(wù)的需要。Java技術(shù)的用戶基礎(chǔ),特別是基于服務(wù)器的Java技術(shù)的用戶基礎(chǔ)已經(jīng)具有臨界規(guī)模,并且呈現(xiàn)出多樣化態(tài)勢。Spring架構(gòu)就是應(yīng)對這種多樣化用戶分布需要的一種架構(gòu)。 在當(dāng)前的新時(shí)代中,Spring架構(gòu)并不僅僅是一組API。它是一個(gè)不斷進(jìn)化的技術(shù)平臺(tái),正在迅速適應(yīng)多樣化的用戶。Spring架構(gòu)在許多方面都領(lǐng)先于開發(fā)技術(shù)社區(qū),并且它更加貼近于使用這種技術(shù)并從中獲益的人員?! ”緯淖髡呤且唤M行業(yè)專家,他們將提供實(shí)際操作經(jīng)驗(yàn),以此來講解Spring架構(gòu)的功能。本書首先集中討論這種架構(gòu)的基礎(chǔ)知識,以便您能盡快上手。然后,本書將討論目前使用的Spring架構(gòu)的各個(gè)應(yīng)用領(lǐng)域,這是本書最重要的一部分,因?yàn)槟芸赡軙?huì)從中找到一些可以立即應(yīng)用到您的系統(tǒng)中的內(nèi)容。本書將提供結(jié)合各個(gè)應(yīng)用領(lǐng)域的實(shí)際應(yīng)用程序示例,從中可以深入了解如何開發(fā)。測試和部署一個(gè)基于Spring的完整系統(tǒng)。
內(nèi)容概要
使用Java Enterprise Edition開發(fā)服務(wù)器端的應(yīng)用程序可能會(huì)非常復(fù)雜費(fèi)時(shí)。Spring Framework已經(jīng)被完全重新設(shè)計(jì),從而使服務(wù)器端應(yīng)用程序的開發(fā)更加簡單。以這本書作為指導(dǎo),您可以快速地掌握如何使用Spring 2的最新特性和其他開放源代碼的工具,比如JUnit、Ant和 Hibernate?! ”緯梢允鼓焖僬莆誗pring Framework,在第1章中就會(huì)操作一個(gè)服務(wù)器端的Spring示例。您將迅速熟悉Spring 2 的技術(shù)和術(shù)語,這些內(nèi)容簡化了Java服務(wù)器應(yīng)用程序的創(chuàng)建。在其后的每一章中,本書將逐步地介紹在構(gòu)建大型生產(chǎn)規(guī)模示例時(shí)所涉及的步驟,從而更加深入地探究Spring應(yīng)用程序設(shè)計(jì)和開發(fā)的基礎(chǔ)領(lǐng)域?! ”緯饕獌?nèi)容 ◆ 如何在構(gòu)建應(yīng)用程序時(shí)使用Spring 2 Framework和相關(guān)的API ◆ 如何實(shí)現(xiàn)核心的最佳實(shí)踐,包括控制反轉(zhuǎn)、依賴注入和面向切面的編程 ◆ 如何編碼和測試以POJO(Plain Old Java Object,簡單舊式Java對象)為中心的設(shè)計(jì)和開發(fā),以及如何支持業(yè)務(wù)邏輯 ◆ 如何使用Java Persistence API(Java持久化API,JPA) 支持對關(guān)系數(shù)據(jù)庫服務(wù)器的數(shù)據(jù)訪問 ◆ 如何創(chuàng)建可維護(hù)的Java服務(wù)器應(yīng)用程序,這種應(yīng)用程序通過使用Spring MVC解除業(yè)務(wù)邏輯與用戶界面的耦合 ◆ 如何創(chuàng)建生成用于Web聯(lián)合供稿的RSS和用于可移植報(bào)告的PDF的應(yīng)用程序 ◆ 如何構(gòu)建Web服務(wù)互操作性,這些特性允許服務(wù)器應(yīng)用程序與基于Microsoft .NET的系統(tǒng)交換數(shù)據(jù)和信息 ◆ 如何通過對Spring應(yīng)用程序添加事務(wù)支持來改進(jìn)系統(tǒng)的健壯性 本書讀者對象 本書面向希望采用Spring Framework和相關(guān)的開放源代碼工具來構(gòu)建服務(wù)器端應(yīng)用程序的Java 開發(fā)人員。已經(jīng)使用過現(xiàn)有J2EE或者Java EE服務(wù)器的開發(fā)人員也將從本書找到過渡到輕量級Spring Framework的相關(guān)技術(shù)信息。
作者簡介
Thomas Van de Velde在開發(fā)眾多行業(yè)內(nèi)的高流量、面向公眾的Web站點(diǎn)方面具有豐富經(jīng)驗(yàn)。作為一家全球領(lǐng)先的技術(shù)咨詢公司的顧問和項(xiàng)目經(jīng)理,他已經(jīng)完成了法國網(wǎng)上稅務(wù)申報(bào)系統(tǒng)和美國一個(gè)最大的體育網(wǎng)站的創(chuàng)建工作。Thomas對于探索如何在企業(yè)中利用開放源代碼頗具熱情,而在閑暇時(shí),他會(huì)與妻子和女兒在一起居住的California南部進(jìn)行沖浪。
書籍目錄
第1章 Springc2快速入門 1.1 Spring簡介 1.2 追求簡潔 1.3 Spring的應(yīng)用 1.3.1 創(chuàng)建模塊化應(yīng)用程序 1.3.2 利用Spring配置模塊化應(yīng)用程序 1.3.3 按類型自動(dòng)連接Bean 1.3.4 理解Spring的控制反轉(zhuǎn)(IoC)容器 1.4 將面向切面編程添加到混合編程 1.5 管道技術(shù)之外——SpringcAPI庫 1.6 小結(jié) 第2章 設(shè)計(jì)Spring應(yīng)用程序 2.1 概述PIX相冊-管理系統(tǒng) 2.2 揭示域模型 2.2.1 PixUsercPOJO 2.2.2 成員POJO 2.2.3 Picture對象 2.2.4 相冊POJO 2.2.5 評論P(yáng)OJO 2.2.6 POJO關(guān)系 2.2.7 添加POJO操作來支持關(guān)系 2.2.8 建立POJO身份 2.3 單元測試的重要性 2.3.1 基于POJO的設(shè)計(jì)和無容器的單元測試 2.3.2 使用單元測試架構(gòu) 2.4 小結(jié) 第3章 使用JPA的Spring持久性 3.1 Java持久性 3.1.1 JDBC體系結(jié)構(gòu) 3.1.2 傳統(tǒng)的JDBC方法 3.2 DAO——統(tǒng)一數(shù)據(jù)訪問 3.2.1 Spring的DAO支持 3.2.2 Spring異常的解釋 3.3 Spring與JPA 3.3.1 實(shí)體 3.3.2 創(chuàng)建數(shù)據(jù)庫查詢 3.3.3 持久性單元 3.3.4 持久性上下文 3.4 作為JPA容器的Spring 3.4.1 關(guān)于JPAcAPI 3.4.2 簡單的JPA——使用注釋 3.4.3 SpringcJPA異常解釋 3.4.4 SpringcJPAcDAO 3.4.5 SpringcJPA配置 3.5 持久性和PIX域模型 3.5.1 持久化PixUsercPOJO 3.5.2 測試持久性層 3.5.3 測試PIX存儲(chǔ)庫 3.6 小結(jié) 第4章 使用SpringcMVC構(gòu)建Web頁面 4.1 MVC體系結(jié)構(gòu)的模式 4.2 SpringcMVC開發(fā) 4.2.1 使用控制器處理Web請求 4.2.2 使用視圖呈現(xiàn)模型 4.3 使用窗體從用戶處獲取數(shù)據(jù) 4.3.1 基本的窗體提交工作流程 4.3.2 使用窗體視圖 4.4 出現(xiàn)問題時(shí)的解決方法 4.5 小結(jié) 第5章 高級SpringcMVC第6章 SpringcWeb流程第7章 Ajax和Spring:DWR集成第8章 Spring和JMS——消息驅(qū)動(dòng)的POJO第9章 SpringcWeb服務(wù)和遠(yuǎn)程處理第10章 Web服務(wù)的使用者及與.NET的互操作性第11章 使用SpringcIDE進(jìn)行快速Spring開發(fā) 第12章 SpringcAOP和AspectJ第13章 更多的AOP:事務(wù)附錄A Mavenc2基礎(chǔ) 附錄B Spring和JavacEE 附錄C 為代碼示例做準(zhǔn)備
章節(jié)摘錄
1.理解SpringMVC中的窗體提交 顧名思義,Spring的SimpleFormController用于處理由單個(gè)頁面組成的簡單的Web窗體。圖4—7所示的窗體可以用于創(chuàng)建和填充一個(gè)新相冊,它有4個(gè)字段,用于提供相冊的一些基本信息。相冊名是必需的,而說明、相冊標(biāo)記和創(chuàng)建日期則是可選的。通過啟用標(biāo)簽旁邊的復(fù)選框,用戶可以把多個(gè)標(biāo)記關(guān)聯(lián)到相冊上。創(chuàng)建日期必須以dd/mm/yyyy的形式輸入;12/29/2007有效,而29/12/2007是無效的。窗體上的標(biāo)簽是從數(shù)據(jù)庫中獲取的。在成功地驗(yàn)證窗體后,用戶將被重定向到相冊頁面。如果產(chǎn)生驗(yàn)證錯(cuò)誤,那么將在窗體頂部寫一個(gè)錯(cuò)誤消息。 通常創(chuàng)建Web窗體的第一步是定義用于存儲(chǔ)數(shù)據(jù)的命令類。對于可以通過設(shè)置器和獲取器方法訪問其字段的對象來講,命令類是一個(gè)古怪的名稱。JSP的字段名遵循一個(gè)特殊的命名約定,以便:DataBinder可以自動(dòng)確定窗體的數(shù)據(jù)進(jìn)入到命令類中的何處。在研究把窗體字段映射到命令類的細(xì)節(jié)之前,您應(yīng)該看一下樣本應(yīng)用程序用于創(chuàng)建新相冊的命令類。下面的程序清單中所使用的命令類與把相冊持久化進(jìn)數(shù)據(jù)庫的命令類相同。這樣做完全正確:沒有必要?jiǎng)?chuàng)建一個(gè)處理窗體的新類,除非現(xiàn)有的域難以映射到Web窗體上??紤]到有可能現(xiàn)有的域?qū)嶓w不適合窗體,您可以選擇創(chuàng)建一個(gè)專門用于窗體處理的類。不管是哪種情況,命令類都不需要擴(kuò)展一個(gè)特殊類,也不是必須實(shí)現(xiàn)任何特殊的接口。換句話說,可以使用POJO來映射到窗體上。唯一的要求是需要遵循一些簡單的命名約定。4.3.2節(jié)將解釋這些約定。
圖書封面
圖書標(biāo)簽Tags
無
評論、評分、閱讀與下載
Spring Framework 2入門經(jīng)典 PDF格式下載