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