出版時間:2006-3 出版社:人民郵電出版社 作者:沃爾斯 頁數(shù):382 字數(shù):564000 譯者:李磊
Tag標簽:無
前言
軟件開發(fā)者需要具備許多品格,才能把開發(fā)工作做得更好。首先,他們得是善于分析的思想家以及問題的解決者。開發(fā)者最基本的任務就是制作出解決業(yè)務問題的軟件。這就要求開發(fā)者能分析客戶的需求,并總結(jié)出行之有效的解決方案。同時,他們要有很強的求知欲。軟件行業(yè)的發(fā)展日新月異,新框架、新技術(shù)、新語言、以及新方法都不斷更新變化。每一樣都是一種新的工具,需要開發(fā)者去掌握并加入他的工具箱,以便他或她的工作能做得更好更快。還有一個最寶貴的品格,那就是“懶惰”。這種懶惰激勵開發(fā)者努力用最小的開銷找到最佳的解決方案。
內(nèi)容概要
本書分為三大部分和兩個附錄,每一部分專注于Spring框架的一個領(lǐng)域:核心層、中間層和Web層。第一部分展示了Spring框架的兩個核心概念:反向控制(Inverstion of Control,IoC)和面向切面編程(Aspect-Oriented Programming,AOP),以便讀者理解Spring的基礎(chǔ)原理,這些基礎(chǔ)原理在本書各個章節(jié)都會用到。第二部分在第1章介紹的IoC和AOP基礎(chǔ)之上,展示了如何將這兩個概念應用到應用系統(tǒng)的中間層。第三部分走出中間層邁向顯示層,在很多J2EE系統(tǒng)中顯示層被稱為Web層。附錄A介紹如何開始自己的Spring應用系統(tǒng),如何下載Spring以及如何編寫Ant配置文件。附錄B介紹一些與Spring有關(guān)的其他開源框架。本書的每一部分既是建立在前一部分的基礎(chǔ)上,同時也都是獨立存在的,所以,讀者不必從頭開始就可以深入到各個主題?! ”緯m合所有Java開發(fā)人員,特別是對企業(yè)級Java開發(fā)人員更有幫助。本書將循序漸進地指導讀者瀏覽貫穿本書的復雜示例。Spring最突出之處在于它使企業(yè)級系統(tǒng)開發(fā)變得簡單,所以,企業(yè)級系統(tǒng)開發(fā)人員會更加欣賞本書中的示例代碼。本書最后4章描述了Spring是如何為Web層開發(fā)提供支持的,如果你是一位Web開發(fā)人員,你會發(fā)現(xiàn)本書的最后一部分特別有用。
作者簡介
Craig Walls,是一個在通信、金融、零售以及電子商務領(lǐng)域有著十幾年開發(fā)經(jīng)驗的專業(yè)軟件工程師,他也是XDoclet in Action這本書的作者之一。他經(jīng)常在用戶組和用戶會議中出現(xiàn),他目前住在得克薩斯州的Denton。
李磊,曾就職于VIA。目前在阿里巴巴從事“支付寶”開發(fā)工作,
書籍目錄
第一部分 Spring基礎(chǔ) 第1章 開始Spring之旅 1.1 為什么使用Spring 1.1.1 J2EE開發(fā)者的一天 1.1.2 Spring的承諾 1.2 Spring是什么 1.3 開始Spring之旅 1.4 理解反向控制 1.4.1 依賴注入 1.4.2 IoC應用 1.4.3 企業(yè)級應用中的IoC 1.5 應用AOP 1.5.1 AOP介紹 1.5.2 AOP使用 1.5.3 企業(yè)級應用中的AOP 1.6 Spring比較 1.6.1 比較Spring和EJB 1.6.2 關(guān)于其他輕量級容器 1.6.3 Web框架 1.6.4 持久層框架 1.7 小結(jié) 第2章 裝配Bean 2.1 容納你的Bean 2.1.1 BeanFactory介紹 2.1.2 使用應用上下文 2.1.3 Bean的生命 2.2 基本裝配 2.2.1 使用XML裝配 2.2.2 添加一個Bean 2.2.3 通過Set方法注入依賴 2.2.4 通過構(gòu)造函數(shù)注入依賴 2.3 自動裝配 2.3.1 處理自動裝配中的不確定性 2.3.2 混合使用自動和手動裝配 2.3.3 缺省自動裝配 2.3.4 何時采用自動裝配 2.4 使用Spring的特殊Bean 2.4.1 對Bean進行后處理 2.4.2 對Bean工廠進行后處理 2.4.3 分散配置 2.4.4 定制屬性編輯器 2.4.5 解析文本信息 2.4.6 監(jiān)聽事件 2.4.7 發(fā)布事件 2.4.8 感知其他Bean 2.5 小結(jié) 第3章 創(chuàng)建切面 3.1 AOP介紹 3.1.1 定義AOP術(shù)語 3.1.2 Spring的AOP實現(xiàn) 3.2 創(chuàng)建通知 3.2.1 前置通知 3.2.2 后置通知 3.2.3 環(huán)繞通知 3.2.4 異常通知 3.2.5 引入通知 3.3 定義切入點 3.3.1 在Spring中定義切入點 3.3.2 理解Advisor 3.3.3 使用Spring的靜態(tài)切入點 3.3.4 使用動態(tài)切入點 3.3.5 切入點實施 3.4 創(chuàng)建引入 3.4.1 實現(xiàn)IntroductionInterceptor 3.4.2 創(chuàng)建一個引入Advisor 3.4.3 謹慎使用引入通知 3.5 使用ProxyFactoryBean 3.6 自動代理 3.6.1 BeanNameAutoProxyCreator 3.6.2 DefaultAdvisorAutoProxyCreator 3.6.3 元數(shù)據(jù)自動代理 3.7 小結(jié)第二部分 Spring在業(yè)務層的應用 第4章 征服數(shù)據(jù)庫 4.1 學習Spring的DAO理念 4.1.1 理解Spring的DataAccessException 4.1.2 與DataSource一起工作 4.1.3 一致的DAO支持 4.2 在Spring中使用JDBC 4.2.1 JDBC代碼的問題 4.2.2 使用JdbcTemplate 4.2.3 把操作創(chuàng)建成對象 4.2.4 自增鍵 4.3 介紹Spring的ORM框架支持 4.4 用Spring整合Hibernate 4.4.1 Hibernate概覽 4.4.2 管理Hibernate資源 4.4.3 用HibernateTemplate訪問Hibernate 4.4.4 HibernateDaoSupport的子類 4.5 Spring和JDO 4.5.1 配置JDO 4.5.2 用JdoTemplate訪問數(shù)據(jù)庫 4.6 Spring和iBATIS 4.6.1 配置SQL Map 4.6.2 使用SqlMapClientTemplate 4.7 Spring和OJB 4.8 小結(jié) 第5章 事務管理 5.1 理解事務 5.1.1 僅用4個詞解釋事務 5.1.2 理解Spring對事務管理的支持 5.1.3 介紹Spring的事務管理器 5.2 在Spring中編寫事務 5.3 聲明式事務 5.3.1 理解事務屬性 5.3.2 聲明一個簡單的事務策略 5.4 通過方法名聲明事務 5.4.1 使用NameMatchTransactionAttributeSource 5.4.2 名稱匹配事務的捷徑 5.5 用元數(shù)據(jù)聲明事務 5.5.1 用元數(shù)據(jù)來書寫事務屬性 5.5.2 用Commons Attributes聲明事務 5.6 修剪事務聲明 5.6.1 從父TransactionProxyFactoryBean繼承 5.6.2 自動代理事務 5.7 小結(jié) 第6章 遠程調(diào)用 6.1 Spring遠程調(diào)用概覽 6.2 與RMI一起工作 6.2.1 連接RMI服務 6.2.2 輸出RMI服務 6.3 使用Hessian和Burlap的遠程調(diào)用 6.3.1 訪問Hessian/Burlap服務 6.3.2 用Hessian或Burlap公開Bean的功能 6.4 使用HTTP invoker 6.4.1 通過HTTP訪問服務 6.4.2 把Bean作為HTTP服務公開 6.5 使用EJB 6.5.1 訪問EJB 6.5.2 用Spring開發(fā)EJB 6.6 使用JAX-RPC的Web Service 6.6.1 用JAX-RPC應用一個Web Service 6.6.2 在Spring里置入一個Web Service 6.7 小結(jié) 第7章 訪問企業(yè)服務 7.1 從JNDI中獲取對象 7.1.1 使用傳統(tǒng)的JNDI 7.1.2 代理JNDI對象 7.2 發(fā)送電子郵件 7.3 調(diào)度任務 7.3.1 使用Java Timer調(diào)度任務 7.3.2 使用Quartz調(diào)度器 7.3.3 按調(diào)度計劃調(diào)用方法 7.4 使用JMS發(fā)送消息 7.4.1 使用JMS模板發(fā)送消息 7.4.2 消費消息 7.4.3 轉(zhuǎn)換消息 7.5 小結(jié)第三部分 Spring在Web層的應用 第8章 建立Web層 8.1 開始Spring MVC之旅 8.1.1 請求生命中的一天 8.1.2 配置DispatcherServlet 8.1.3 Spring MVC概述 8.2 將請求映射到控制器 8.2.1 將URL映射到Bean名稱 8.2.2 使用SimpleUrlHandlerMapping 8.2.3 使用元數(shù)據(jù)映射控制器 8.2.4 使用多映射處理器 8.3 用控制器處理請求 8.3.1 編寫一個簡單的控制器 8.3.2 處理命令 8.3.3 處理表單提交 8.3.4 用向?qū)幚韽碗s表單 8.3.5 在一個控制器中處理多個動作 8.3.6 使用一次性控制器 8.4 視圖解析 8.4.1 使用模板視圖 8.4.2 解析視圖Bean 8.4.3 選擇視圖解析器 8.5 使用Spring的綁定標簽 8.6 處理異?! ?.7 小結(jié) 第9章 其他視圖技術(shù) 9.1 使用Velocity模板 9.1.1 定義Velocity視圖 9.1.2 配置Velocity引擎 9.1.3 解析Velocity視圖 9.1.4 格式化日期和數(shù)字 9.1.5 暴露請求和會話屬性 9.1.6 在Velocity中綁定表單域 9.2 使用FreeMarker 9.2.1 構(gòu)造一個FreeMarker視圖 9.2.2 配置FreeMarker引擎 9.2.3 解析FreeMarker視圖 9.2.4 在FreeMarker中綁定表單域 9.3 使用Tile設計頁面布局 9.3.1 Tile視圖 9.3.2 Tile控制器 9.4 產(chǎn)生非HTML輸出 9.4.1 產(chǎn)生Excel工作表 9.4.2 產(chǎn)生PDF文檔 9.4.3 產(chǎn)生其他非HTML文件 9.5 小結(jié) 第10章 使用其他Web框架 10.1 使用Jakarta Struts 10.1.1 注冊Spring插件 10.1.2 實現(xiàn)知曉Spring的Struts action 10.1.3 委托action 10.2 使用Tapestry 10.2.1 替換Tapestry引擎 10.2.2 裝載Spring Bean至Tapestry頁面中 10.3 集成JavaServer Faces 10.3.1 解析變量 10.3.2 發(fā)布請求已處理事件 10.4 集成WebWork 10.4.1 WebWork1 10.4.2 XWork/WebWork2 10.5 小結(jié) 第11章 保護Spring 應用程序 11.1 Acegi安全系統(tǒng)介紹 11.1.1 安全攔截器 11.1.2 認證管理器 11.1.3 訪問決策管理器 11.1.4 運行身份管理器 11.2 管理身份驗證 11.2.1 配置ProviderManager 11.2.2 根據(jù)數(shù)據(jù)庫驗證身份 11.2.3 根據(jù)LDAP倉庫進行身份驗證 11.2.4 基于Acegi和Yale CAS實現(xiàn)單次登錄 11.3 控制訪問 11.3.1 訪問決策投票 11.3.2 決定如何投票 11.3.3 處理投票棄權(quán) 11.4 保護Web應用程序 11.4.1 代理Acegi的過濾器 11.4.2 強制Web安全性 11.4.3 處理登錄 11.4.4 設置一個安全上下文 11.4.5 確保通道安全性 11.4.6 使用Acegi的標簽庫 11.5 保護方法調(diào)用 11.5.1 創(chuàng)建一個安全切面 11.5.2 使用元數(shù)據(jù)保護方法 11.6 小結(jié)附錄A 裝配Spri A.1 下載Spring A.2 選擇一種JAR文件 A.3 搭建你的項目 A.4 利用Ant創(chuàng)建附錄B Spring相關(guān)項目 B.1 AppFuse B.2 Rich Client Project B.3 Spring.NET
章節(jié)摘錄
前言 致謝 這本書的創(chuàng)作不僅僅是兩個人的事情。除了兩位作者之外,在各個方面很多人的參與之下才使這本書的誕生成為可能?! ∈紫?,我們要感謝Manning出版社的幕后工作人員:發(fā)行人Marjan Bace、他的助手Susan Capparelle、我們的編輯Jackie Carter,還有Denis Dalinnik、Leslie Haimes、Mary Piergies、Liz Welch、Susan Forsyth 和 Helen Trimes。我們無法想象還能找到更好更專業(yè)的隊伍合作。你們在自己的崗位上都做得非常好,并且應該為制作出世界上最好的技術(shù)書而得到稱贊?! ∥覀冞€要感謝本書的審閱者:Doug Warren、Muhammad Ashikuzzaman、Ryan Cox、Mojahedul、Hasanat、Jack Herrington、 Olivier Jolly、William Lopez、Lester Martin、Dmitri Maximovich、Daniel Miller、Christian Parker、 Matthew Payne和Norman Richards,謝謝你們貢獻了大量時間,提供給我們許多的反饋、批評和靈感,使本書更為完善。特別要感謝Doug Warren,在本書印刷之前,對原稿進行技術(shù)校正?! ∽詈?,還要感謝Rod Johnson和Spring小組的其他人,感謝他們在第一線創(chuàng)造了Spring。我們可以很誠實地說,使用Spring真是一件令人愉快的事。你們真是太棒了! CRAIG WALLS 我想感謝我親愛的美麗的妻子:Raymie。你是我一生的最愛和最好的朋友,也是我最甜蜜的夢。謝謝你對我的支持和耐心,對于還在進行中的另一個圖書項目——我保證馬上就會結(jié)束了?! ∥业暮现撸琑yan,是他讓我開始了解Spring并幫助我整理這本書,把Spring告訴其他所有的人。 對于我在Michaels的小組成員——Ryan、Marianna、Van、Tonji、Jeff、Jim、Don、Carol 和Leida,感謝你們每一天都展現(xiàn)了一個世界級軟件開發(fā)小組的水平和能力?,F(xiàn)在這本書終于完成了,或許我將不用再謝絕這么多午餐邀請了! 感謝我在今年的全國巡回軟件研討會No-Fluff/Just-Stuff上遇到和交談的朋友和同事:Glenn Vanderburg、Ted Neward、Bruce Tate、Venkat Subramaniam、Ramnivas Laddad、Dave Thomas、Erik Hatcher、 Howard Lewis Ship、Neal Ford、Rick Hightower、Ben Galbraith、Stuart Halloway 和 Matt Raible。感謝Jay Zimmerman一直以來的指導,并在2004年邀請我成為其中一員。 感謝在背后支持我的朋友和鄰居:John、Jennifer以及經(jīng)常為Raymie和我提供比薩餅、電影,還有忙里偷閑的休息的Tobey?! 「兄xDick Wolf創(chuàng)辦的“法律&秩序”,這個電視節(jié)目在我寫作的時候提供了大量的背景噪聲。 以及其他我在XDoclet in Action中感謝的所有人?! YAN BREIDENBACH 首先,我要感謝我的妻子Angi。是你無限的耐心和鼓勵讓我能更加努力。我向你保證,在這本書完成后,你將會看到我更多的笑容和更加暢快的呼吸。 感謝我的女兒Julia,幫助我在腦海中形成寫一本書應有的壓力。在寫作之余,訪問一下“Elmo的世界和Jo Jo的馬戲團”站點是件愉快的事情?! 「兄x我的父母,Mark和Lynda,還有我的兄弟Lee,能理解我為何在拜訪你們的時候還埋頭于我的筆記本。使我在將來的拜訪中不會有什么壓力。 感謝我的親家,Stephanie 和George,感謝你們激勵的話語,還有偶爾(不,應該是經(jīng)常)幫助我們照看小孩,使Angi和我有更多自己的時間?! 「兄x我的那些開發(fā)伙伴:Van、Marianna、Tonji和Jerry,讓我從你們那里得到很多意見。有時我的腦子轉(zhuǎn)得太快,你們的提醒讓我能歸回原位?! 「兄x我的朋友和鄰居:Dave、Javier、Alex、Scott和James。感謝你們經(jīng)常提供這么多笑料,讓我常常合不攏嘴?! 「兄x在CVSDude的朋友。非常酷的CVS主機名,CVS主機服務也想當棒?! ∽詈笠兄x我的良師益友:Graig,教給我寫書的秘訣。還有很多其他的人,你們的幫助使這次的出版變得更加順利?! £P(guān)于本書 Spring框架是以簡化J2EE系統(tǒng)開發(fā)為目標而創(chuàng)建的。同樣,《Spring in Action中文版》是以學習如何容易地使用Spring而寫的。我們的目標不是詳細地列出Spring的API,我們想通過來自現(xiàn)實生活的實際示例代碼為J2EE開發(fā)人員展示Spring框架?! ∫驗镾pring是模塊化的框架,所以本書也是按這種方式來寫的。我們知道不是所有的開發(fā)人員都需要這樣,有些人想從頭學習Spring,有的可能只是挑幾個不同的話題,按照自己的需要來看。所以,本書既可以被剛開始學習Spring的讀者當作學習工具,也可以被那些想深入了解某方面知識的讀者用作參考指南?! ≌鹿?jié)組織 《Spring in Action中文版》分成三大部分和兩個附錄,每一部分專注于Spring框架的一個領(lǐng)域:核心層、中間層和Web層。每一部分既是建立在前一部分的基礎(chǔ)上,同時也都是獨立存在的,所以,讀者不必從頭開始就可以深入到各個話題?! 〉谝徊糠窒蚰阏故玖薙pring框架的兩個核心概念:反向控制(Inversion of Control,IoC)和面向切面編程[1](Aspect-Oriented Programming,AOP)。這使讀者可以更好地理解Spring的基礎(chǔ)原理,這些基礎(chǔ)原理在本書各個章節(jié)都會用到?! 〉?章向讀者展示了IoC和AOP兩個技術(shù)概念,以及Spring如何利用這兩種技術(shù)使Java開發(fā)變得容易的,同時讀者將了解到Spring和其他框架(如EJB、Struts和PicoContainer)的區(qū)別?! 〉?章詳細地介紹了如何利用IoC配置你的應用系統(tǒng),讀者將學到如何編寫松耦合的組件,如何在Spring容器中利用XML來描述各個組件的屬性,裝配其依賴類。 第3章向讀者介紹了如何使用Spring的AOP來解耦交叉問題,如將安全模塊從使用它的模塊中獨立出來。本章也為第5章做了鋪墊。在第5章中,讀者將學習如何利用AOP來實現(xiàn)聲明式事務管理。 第二部分在第1章介紹的IoC和AOP基礎(chǔ)之上,向讀者展示了如何將這兩個概念應用到應用系統(tǒng)的中間層?! 〉?章覆蓋了整個Spring的數(shù)據(jù)持久層,向讀者介紹了Spring對JDBC的支持,這簡化了和JDBC相關(guān)的開發(fā),讀者也會了解到Spring是如何與當前一些流行的ORM框架(如Hibernate、JDO、OJB和iBATIS等)集成的。 第5章是第4章的延續(xù),向讀者展示了如何使用Spring事務管理來保證數(shù)據(jù)一致性。讀者將看到Spring是如何在不使用EJB的情況下,利用AOP提供強大的聲明式事務的?! 〉?章展示了如何將你的系統(tǒng)中的對象發(fā)布成遠程服務,以及如何透明地使用遠程服務。介紹的遠程技術(shù)包括RMI、Hessian/Burlap、EJB、Web Services以及Spring自己的HttpInvoker。 第7章向讀者展示了在Spring 中如何集成其他企業(yè)服務,讀者將了解到使用Spring集成郵件服務, JMS甚至EJB都是那么的容易?! 〉谌糠肿叱鲋虚g層邁向顯示層,在很多J2EE系統(tǒng)中叫做Web層?! 〉?章介紹了Spring自己的MVC框架。讀者將了解Spring如何透明的將Web參數(shù)綁定到業(yè)務對象中,同時又提供了數(shù)據(jù)驗證和錯誤處理功能。你也將看到利用Spring的攔截器來添加新功能是多么的容易?! 〉?章在Spring MVC的基礎(chǔ)上,向讀者展示了除了使用JSP外,如何使用其他模板技術(shù)(如Velocity和FreeMarker)實現(xiàn)顯示層,同時你將看到如何利用Spring MVC動態(tài)產(chǎn)生二進制文件(如PDF和Excel文檔)?! 〉?0章 向讀者介紹了如何把Spring與其他Web框架集成在一起。對于那些已經(jīng)在其他框架投入了很大精力的用戶來說,Spring提供了與其他Web框架(如Struts、Tapestry、JavaServer Faces和WebWork)集成的支持?! ∽詈螅诘?1章中,讀者將了解到如何利用Acegi安全系統(tǒng)為你的Web系統(tǒng)提供認證服務,你將了解到如何將Acegi和你的業(yè)務對象集成,以提供方法級別上的安全控制?! 「戒汚向讀者介紹如何開始自己的Spring應用系統(tǒng),如何下載Spring以及如何編寫Ant配置文件?! 「戒汢向讀者介紹一些與Spring有關(guān)的其他開源框架?! ”緯x者群 《Spring in Action中文版》適合所有Java開發(fā)人員,特別是對企業(yè)級Java開發(fā)人員更有幫助。我們將循序漸進地指導你瀏覽貫穿本書的復雜示例。Spring的真正偉大之處在于它使企業(yè)級系統(tǒng)開發(fā)變得簡單,所以,企業(yè)級系統(tǒng)開發(fā)人員會更加欣賞本書中的示例代碼?! ∮捎赟pring的絕大部分都是關(guān)于提供企業(yè)級服務,所以Spring和EJB之間存在很多相似的地方,任何的EJB開發(fā)經(jīng)驗都會有助于對這兩個框架的比較。雖然本書不是專注于Web系統(tǒng)的,但也有一部分是針對這個話題的。事實上最后四章描述了Spring是如何為Web層開發(fā)提供支持的,如果你是一個Web開發(fā)人員,你會發(fā)現(xiàn)本書的最后一部分特別有用?! 【幋a規(guī)范和下載 本書有大量的示例代碼,它們都使用代碼字體,如果我們要你特別注意某些示例,就會使用加黑代碼字體?! ≡S多Spring的類名特別長,所以有時候我們需要使用換行號( )?! ”緯械氖纠a不都是完整的,我們通常只顯示類中我們關(guān)注的一兩個方法。書中系統(tǒng)的完整源代碼可以在出版社的網(wǎng)站http://www.manning.com/walls2或http://www.springinaction.com中得到?! ∽髡咴诰€ 購買了《Spring in Action中文版》,讀者就可以免費訪問由Manning出版社提供的一個在線論壇,在這里你可以給本書寫評論,問一些技術(shù)問題,得到作者或其他讀者的幫助。要進入這個論壇,請打開瀏覽器訪問www.manning.com/walls2,通過這個頁面你能知道如何登錄論壇,論壇能提供那些幫助以及論壇的行為規(guī)范。 Manning對讀者的許諾是為讀者提供一個交流平臺,在這里讀者之間以及讀者與作者之間可以進行有意的交流。不論進行多少次訪問,作者的訪問都是義務的,他們對論壇的貢獻是自愿和免費的,所以,我們建議讀者盡量向作者問一些有挑戰(zhàn)性的問題,以免作者失去興趣?! ≈灰緯€在出版,讀者就可以訪問作者在線論壇以及以前的討論信息?! £P(guān)于書名 In Action系列圖書是為幫助學習和記憶而設計的。根據(jù)認知科學的研究,人們能記住的東西往往是都是他們自主發(fā)現(xiàn)的東西?! ”M管在Manning里沒有人是認知學家,但是我相信如果想讓學到的知識保持長久,必須要經(jīng)過探索、感興趣的實踐、將學到的東西重述等階段。人們只有經(jīng)過主動的探索才能理解并記住新知識。實踐驅(qū)動是In Action系列圖書的本質(zhì),它鼓勵讀者嘗試,編寫新代碼,探索新想法。 這本書的書名還有一個更實際的原因,那就是我們的讀者都比較忙,他們使用本書來完成一個任務或解決一個問題,他們希望能在需要的時候從本書中快速找到他們需要的東西,他們需要這本書在實際中幫助他們,所有本系列的圖書都是為這樣的讀者而設計的?! £P(guān)于封面插圖 本書的封面是“一個偉大的紳士軍官”,這幅圖選自Collection of Costumes of the Ottoman Empire,這本圖冊是住在倫敦Old Bond大街的William Miller于1802年1月1日出版的。因為無法找到這部集子的首頁,所以我們很難查到具體的日期。這本書的目錄用法語和英語標明了所有的人物,每幅圖都有兩位創(chuàng)作者的名字,毫無疑問,如果他們發(fā)現(xiàn)自己的藝術(shù)竟然在兩百年后能為一本計算機編程圖書的封面增色不少,肯定會驚嘆不已。 Manning出版社的一個編輯在曼哈頓West 26th Street的一個車庫里的古玩跳蚤市場買了這部冊子。賣主是一個住在土爾其安卡拉的美國人,在他要收攤的時候成交了這筆買賣,這位Manning的編輯身上沒有足夠的現(xiàn)金,而他的信用卡和支票也被委婉拒絕?! ≠u主當天晚上要飛回安卡拉,使得這筆買賣似乎陷于無望,到底怎么解決的呢?只是一個古老的口頭協(xié)議和握手。賣主提議通過電報付款,編輯手里拿著寫有銀行信息的紙條走了出來,腋下夾著那套圖冊,不用說,第二天,我們就把錢匯了出去。時至今日,我們依然對那位不知名的賣主對于我們同仁的信任而感激萬分、印象深刻。這使我們回憶起很多古道熱腸的事情?! ∠衿渌霈F(xiàn)在我們封面上的插圖一樣,這些奧特曼圖集里的圖畫成功地再現(xiàn)了兩個世紀前服裝的絢麗多彩,它們讓我們想起了那個遙遠時代的超然的美,還有其他歷史時期——除了我們多動煩躁的現(xiàn)代社會?! 哪且院?,服裝風格發(fā)生改變,當時富于濃郁地方特色的多樣性已經(jīng)逐漸淡化,現(xiàn)在,我們經(jīng)常很難說出一個洲的居民和其他洲的居民有什么不同。也許,用樂觀的角度來看,可以說我們用文化與視覺的多樣性換來了更為多變的個人生活,或更加有趣的知識科技生活。 這些計算機圖書的封面反映了兩個世紀前地方生活的豐富多彩,而這部圖集里的圖片則為那燦爛的過去賦予了新的生命。Manning出版社的全體成員對這一新穎有趣的創(chuàng)意表示熱烈祝賀。
編輯推薦
Spring是掠過Java大地的一陣清風。Spring是以反向控制設計原理為基礎(chǔ),無需EJB而功能依然強大的輕量級J2EE開發(fā)框架。Spring大大簡化了使用接口開發(fā)的復雜性,并且加快和簡化了應用系統(tǒng)的開發(fā)。使用簡單JavaBean就可以得到EJB的強大功能。 本書介紹了Spring背后的原理,引領(lǐng)你迅速進入對框架的體驗之中。結(jié)合簡短代碼片斷和貫穿全書的持續(xù)示例,本書向你展示了如何創(chuàng)建簡單有效的J2EE應用系統(tǒng)。你將看到如何使用先進的開源工具解決持久層問題,以及如何將你的應用系統(tǒng)與其他流行Web框架集成。你將學習如何使用Spring管理大量的基礎(chǔ)設施代碼,這樣你就可以將注意力集中在真正的問題上——重要的業(yè)務需要。 本書內(nèi)容: ·使用Hibernate、JDO、iBatis、OJB以及JDBC開發(fā)持久層; ·聲明式事務與事務管理; ·與其他Web框架集成:Struts、WebWork、Tapestry、Velocity; ·訪問J2EE服務,如JMS和EJB; ·使用AOP解決交叉問題; ·企業(yè)組應用系統(tǒng)最佳實踐?! 啊环N解釋Spring中各個主題的很好途徑……我喜歡這本書” ——Christian Parker,Adigio公司總裁 “……沒有其他書籍可以與這本書的實用性相提并論?!薄 狾livier Jolly,J2EE構(gòu)架師,Interface SI “我很喜歡這種展示Spring的方式。” ——Norman Richards,XDoclet in Action的作者之一 “我極力推薦這本書?!薄 狫ack Herrington,Code Generation in Action的作者
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載