出版時間:2006-10 出版社:人民郵電出版社 作者:孟劼 頁數(shù):593 字數(shù):939000
Tag標簽:無
內(nèi)容概要
本書由淺入深、循序漸進地介紹了開源應(yīng)用框架Spring的開發(fā)思想和實踐。全書共分為20章,內(nèi)容涵蓋了Spring的基礎(chǔ)知識體系、獲取和部署方法、背后的先進核心理念、相關(guān)的部分設(shè)計模式和J2EE核心模式、核心組件Bean工廠的使用、Spring風(fēng)格的面向方面編程、各種J2EE企業(yè)級應(yīng)用框架和解決方案(包括持久數(shù)據(jù)訪問、事務(wù)管理、EJB、郵件服務(wù)、時程安排、Web MVC框架、表現(xiàn)層視圖技術(shù)、JMX遠程方案等)、Spring和單元測試等內(nèi)容?! 〈送獗緯财饰隽薙pring寵物店示例,最后還討論了寵物店和Martin Fowler企業(yè)架構(gòu)模式(POEAA)的關(guān)系?! ”緯m用初中級讀者學(xué)習(xí),對高級用戶也有很好的參考價值。
書籍目錄
第1章 Spring基礎(chǔ)知識 11.1 Spring的來歷和目標 11.2 Spring概覽 21.3 Spring的應(yīng)用場景 31.4 Spring和J2EE 51.4.1 經(jīng)典J2EE體系架構(gòu) 51.4.2 輕量級容器 61.4.3 Spring和J2EE的關(guān)系 61.5 小結(jié) 6第2章 開始Spring之旅 72.1 獲取Spring 72.1.1 兩大開源網(wǎng)站簡介 72.1.2 獲取Spring發(fā)布包和源代碼 72.2 Spring的標準發(fā)布包和相關(guān)軟件包 92.2.1 Spring標準發(fā)布包 92.2.2 Spring相關(guān)軟件包 102.2.3 Spring自帶范例 122.3 部署Spring 132.4 Spring應(yīng)用初體驗 142.4.1 Hello World遇到的問題 142.4.2 使用Spring對Hello World進行重構(gòu) 202.4.3 實現(xiàn)依賴注射(DI) 222.4.4 重構(gòu)總結(jié) 242.4.5 簡單的Web應(yīng)用程序Hello World 242.5 小結(jié) 26第3章 貫穿Spring應(yīng)用的核心理念 273.1 輕量級容器再探 273.1.1 容器和輕量級容器 273.1.2 需要容器的理由 283.1.3 輕量級容器的優(yōu)勢 283.2 控制反轉(zhuǎn)(IoC) 283.2.1 一個簡單的例子 293.2.2 引入問題 313.2.3 使用控制反轉(zhuǎn)(Inversion of Control)模式 323.2.4 總結(jié) 333.3 依賴注射 343.3.1 依賴注射的幾種形式 353.3.2 使用Spring 進行設(shè)值方法和構(gòu)造函數(shù)注射 353.3.3 設(shè)值方法注射和構(gòu)造函數(shù)注射的使用場合 363.4 面向方面編程(Aspect Oriented Programming) 373.4.1 AOP的歷史來源 373.4.2 為什么需要AOP 383.4.3 AOP的重要概念 393.4.4 理解“橫切” 413.4.5 AOP的實現(xiàn)策略 433.4.6 認識AspectJ 443.4.7 安裝AspectJ的運行環(huán)境 443.4.8 用J2SE動態(tài)代理實現(xiàn)AOP 473.4.9 用AspectJ實現(xiàn)AOP 513.4.10 深入理解AspectJ 543.5 單元測試(Unit Test) 583.5.1 單元測試和JUnit框架 593.5.2 JUnit框架的3個核心概念 603.5.3 準備測試 603.5.4 添加測試代碼并進行測試 623.5.5 取得更有意義的出錯信息 633.5.6 捕捉錯誤信息 643.5.7 單元測試技巧 653.6 測試驅(qū)動開發(fā)(Test Driven Development) 673.6.1 傳統(tǒng)測試的問題 673.6.2 測試驅(qū)動開發(fā)的應(yīng)對策略 683.6.3 一個簡單的示例 683.6.4 總結(jié)測試驅(qū)動開發(fā)的優(yōu)勢 733.7 小結(jié) 74第4章 模式:Spring前行的路標 754.1 模式(Pattern)入門 754.1.1 什么是模式 754.1.2 不用模式產(chǎn)生的問題 764.1.3 通過實例理解模式本質(zhì) 794.1.4 小結(jié) 814.2 工廠模式(Design Pattern:Factory Method)的精髓 814.2.1 引入問題 824.2.2 解決方法 834.2.3 工廠模式和依賴倒置的關(guān)系 854.3 單例模式(Design Pattern:Singleton) 884.3.1 單例模式的實現(xiàn) 884.3.2 單例注冊表 894.4 模板模式和策略模式(Design Pattern:Template Method And Strategy) 914.4.1 模板模式 924.4.2 策略模式 954.5 代理模式(Design Pattern:Proxy) 1004.5.1 第一個代理模式的例子 1004.5.2 虛擬代理(Virtual Proxy) 1034.6 數(shù)據(jù)訪問對象模式(J2EE Pattern:Data Access Object) 1054.7 模型視圖控制器模式(Architecture/Framework Pattern:Model View Controller) 1134.7.1 Model 1和Model 2簡介 1144.7.2 一個Model 2框架示例 1154.8 框架與模式的關(guān)系 1204.9 Spring和工廠模式 1214.9.1 Spring工廠體系的另類視圖 1214.9.2 Spring工廠核心原理 1224.10 Spring和單例模式 1234.11 Spring的模板以及策略模式 1254.11.1 Spring模板模式 1254.11.2 Spring策略模式 1264.12 Spring和代理模式 1284.13 Spring和數(shù)據(jù)訪問對象模式 1294.14 Spring和MVC模式 131第5章 Spring核心Bean工廠裝配指南 1335.1 核心Bean工廠 1335.1.1 初識Bean工廠 1335.1.2 擁有一份Bean的基礎(chǔ)定義 1355.1.3 使用構(gòu)造函數(shù)創(chuàng)建Bean 1365.1.4 使用靜態(tài)工廠方法創(chuàng)建Bean 1365.1.5 使用實例工廠方法創(chuàng)建Bean 1375.1.6 Bean的標識符 1395.1.7 是否使用Singleton 1395.2 裝配各種應(yīng)用協(xié)作對象:Bean 1415.2.1 設(shè)置Bean的屬性和協(xié)作者 1415.2.2 Bean的依賴決議 1465.2.3 構(gòu)造子參數(shù)決議 1475.2.4 自動裝配(Autowiring) 1505.2.5 依賴檢查 1525.3 Bean屬性和構(gòu)造函數(shù)參數(shù)的細節(jié) 1535.3.1 使用value元素設(shè)定屬性 1535.3.2 使用null元素設(shè)定空值 1545.3.3 使用collection(集合)元素定義集合 1545.3.4 通過嵌套Bean元素來定義內(nèi)部Bean(innerBean) 1575.3.5 使用idref元素預(yù)檢錯誤 1585.3.6 使用ref元素設(shè)定依賴 1585.3.7 value與ref的簡寫式 1615.3.8 使用depends-on屬性強制依賴 1625.4 方法也可以被注射 1625.4.1 使用Lookup方法注射 1625.4.2 替換任意方法 1645.5 定制Bean的一些原生屬性 1655.5.1 生命周期接口 1655.5.2 讓Bean“知道”自己的身份 1675.5.3 什么是FactoryBean 1695.6 父和子Bean的定義 1705.7 使用后處理器(Post-Processor) 1735.7.1 使用BeanPostProcessor定制Bean 1735.7.2 使用BeanFactoryPostProcessor定制Bean工廠 1755.7.3 使用自定義的PropertyEditor 177第6章 ApplicationContext和更多特性 1786.1 ApplicationContext簡介 1786.2 ApplicationContext的擴展功能 1786.2.1 資源國際化 1786.2.2 事件傳播 1816.2.3 底層資源和ApplicationContext 1846.3 在ApplicationContext中客制Bean的屬性和行為 1886.4 使用自定義的PropertyEditors 1896.5 創(chuàng)建Web應(yīng)用上下文 1926.6 更多的輕松裝配方式 1936.6.1 從屬性表達式來設(shè)置Bean的屬性或者構(gòu)造函數(shù)參數(shù) 1936.6.2 從一個字段值來設(shè)置Bean的屬性或者構(gòu)造函數(shù)參數(shù) 1956.6.3 調(diào)用另外一個方法并且使用其返回值(也可以沒有返回值) 1956.6.4 引入其他Bean的定義文件 1966.7 Bean包裝器(Wrapper)和屬性編輯器(PropertyEditor) 1976.7.1 BeanWrapper簡介 1976.7.2 JavaBean屬性的設(shè)置、獲取及嵌套 1976.7.3 屬性編輯器 2006.8 Spring驗證機制初探 2026.9 小結(jié) 203第7章 Spring面向方面編程基礎(chǔ) 2047.1 Spring AOP基礎(chǔ)概念 2047.1.1 AOP聯(lián)盟簡介 2047.1.2 Spring AOP功能簡介 2057.1.3 Spring AOP概念重整 2067.2 Spring AOP編程起步 2077.2.1 陳舊案例重現(xiàn) 2077.2.2 抽離關(guān)注點 2087.2.3 劃分切入點 2107.2.4 結(jié)合Spring AOP和IoC:聲明配置 2127.3 Spring AOP代理和代理工廠 2137.3.1 Spring代理工廠簡介 2147.3.2 使用ProxyFactory 2147.3.3 使用ProxyFactoryBean 2157.3.4 使用ProxyFactoryBean暴露的屬性 2157.3.5 選擇合適的AOP代理 2187.4 Spring AOP建議(Advice) 2197.4.1 前置建議(Before Advice) 2197.4.2 返回后(后置)建議(After Returning Advice) 2247.4.3 環(huán)繞攔截建議(Interception Around Advice) 2307.4.4 拋出建議(Throws Advice) 2347.4.5 引介建議(Introduction Advice) 2377.5 Spring AOP切入點(Pointcut)和顧問(Advisor) 2377.5.1 未使用切入點存在的問題 2377.5.2 引入切入點和顧問 2377.5.3 初識切入點背后的ClassFilter和MethodMatcher接口 2397.5.4 透過MethodMatcher接口了解靜態(tài)和動態(tài)切入點 2397.5.5 靜態(tài)切入點和顧問DefaultPointcutAdvisor 2427.5.6 靜態(tài)切入點和顧問StaticMethodMatcherPointcut 2427.5.7 靜態(tài)切入點和顧問NameMatchMethodPointcut 2457.5.8 使用正則表達式切入點 2467.5.9 使用便利的切入點顧問(PointcutAdvisor) 2477.5.10 使用動態(tài)切入點(Dynamic Pointcut)和自定義顧問(Advisor) 249第8章 面向方面編程(AOP)高級應(yīng)用 2548.1 Spring AOP引介(Introduction)概述 2548.2 使用混入(Mixin)實現(xiàn)引介(Introduction)建議 2568.2.1 引入目標對象和待織入功能接口 2568.2.2 給予關(guān)鍵引介建議 2578.2.3 聲明配置引介建議并測試 2598.3 使用自動代理(Auto Proxy) 2628.4 Spring AOP企業(yè)級服務(wù) 2648.4.1 Spring AOP企業(yè)級服務(wù)菜單 2648.4.2 使用TransactionProxyFactoryBean提供聲明式事務(wù)管理 2658.4.3 更為強大靈活的事務(wù)管理聲明方式 2708.4.4 使用EJB代理 2728.5 小結(jié) 272第9章 J2EE的持久化數(shù)據(jù)訪問方案 2739.1 傳統(tǒng)高效的JDBC方案 2739.2 基于SQL語句映射的Ibatis框架 2759.2.1 IBatis簡介 2759.2.2 IBatis和高級ORM工具的比較 2759.2.3 IBatis的應(yīng)用場合 2769.2.4 IBatis示例快照 2769.3 流行的ORM利器Hibernate 2789.3.1 Hibernate簡介 2789.3.2 Hibernate示例快照 2799.4 再探數(shù)據(jù)訪問對象(DAO) 2829.4.1 傳統(tǒng)的JDBC和DAO 2829.4.2 IBatis和DAO 2829.4.3 Hibernate和DAO 2869.5 ORM方案的應(yīng)用場合 2869.6 寵物店背后的IBatis:SQL Map基本概念 2869.7 寵物店背后的IBatis:XML配置文件 2879.7.1 SQL Map的XML配置文件 2879.7.2 使用元素引入屬性文件 2889.7.3 使用元素配置SqlMap 2899.7.4 使用元素指定別名 2899.7.5 使用元素配置事務(wù)策略 2899.7.6 使用元素配置數(shù)據(jù)源 2909.7.7 使用元素引入SQL Map映射文件 2929.7.8 先行準備主控測試和子測試套件 2939.8 寵物店背后的IBatis:XML映射文件 2949.8.1 SQL Map的XML映射文件 2949.8.2 通過Mapped Statement使用SQL 2969.8.3 使用元素指定SQL語句 2969.8.4 SQL語句特殊規(guī)則 2979.8.5 內(nèi)聯(lián)參數(shù)(Inline Parameter)簡介 2989.8.6 使用parameterClass指定參數(shù)類 3009.8.7 基本類型輸入?yún)?shù) 3009.8.8 使用resultClass指定結(jié)果類 3019.8.9 使用resultMap配置映射 3029.8.10 IBatis事務(wù)處理 3039.8.11 小結(jié) 3049.9 寵物店背后的IBatis:XML映射文件高級特性 3059.9.1 IBatis自動生成的主鍵 3059.9.2 簡單的動態(tài)SQL元素 3069.9.3 緩存Mapped Statement結(jié)果集 3079.9.4 緩存類型 3089.9.5 動態(tài)Mapped Statement 3109.9.6 運行自動測試 3129.10 用Hibernate創(chuàng)建Spring寵物店的簡易進貨系統(tǒng) 3139.10.1 Spring寵物店持久層滲入 3139.10.2 實現(xiàn)Hibernate進貨DAO:實體持久對象 3149.10.3 實現(xiàn)Hibernate進貨DAO:映射和基本配置 3159.10.4 實現(xiàn)Hibernate進貨DAO:工具類和DAO實現(xiàn) 3179.10.5 實現(xiàn)Hibernate進貨DAO:測試驗收 3189.11 小結(jié) 320第10章 Spring和J2EE持久化數(shù)據(jù)訪問 32110.1 Spring對數(shù)據(jù)訪問對象(DAO)的支持 32110.1.1 通用的數(shù)據(jù)訪問異常 32110.1.2 通用的DAO抽象支持類 32110.1.3 向業(yè)務(wù)對象注射DAO 32210.2 Spring對JDBC的支持 32410.2.1 JdbcTemplate和數(shù)據(jù)源概述 32410.2.2 使用JdbcTemplate和數(shù)據(jù)源 32510.2.3 對象化RDBMS操作概述 32710.2.4 對象化RDBMS操作:使用MappingSqlQuery 32810.2.5 對象化RDBMS操作:使用SqlUpdate 33110.3 Spring對IBatis的支持 33210.3.1 標準JavaBean實體和映射 33210.3.2 銜接IBatis配置和DAO實現(xiàn) 33310.3.3 關(guān)鍵整合點:Spring配置文件 33410.3.4 添加聲明式事務(wù)管理 33510.4 Spring對Hibernate的支持 33610.4.1 在Spring上下文中配置SessionFactory 33610.4.2 重建Hibernate進貨DAO偽實現(xiàn) 33810.4.3 TDD實現(xiàn)規(guī)劃測試案例 33910.4.4 TDD實現(xiàn)完善基礎(chǔ)設(shè)施 34110.4.5 添加HibernateTemplate和HibernateCallback實現(xiàn) 34110.4.6 聲明式管理Hibernate本地事務(wù) 34310.4.7 聲明式管理Hibernate分布式事務(wù) 345第11章 傳統(tǒng)的企業(yè)JavaBean(EJB) 34711.1 什么是EJB 34711.2 什么是會話Bean(Session Bean) 34811.2.1 無狀態(tài)會話Bean 34911.2.2 有狀態(tài)會話Bean 34911.2.3 何時使用會話Bean 34911.3 實體Bean(Entity Bean) 35011.3.1 EntityBean和Session Bean的異同 35011.3.2 容器管理的持久性(CMP) 35111.3.3 何時需要EntityBean 35211.4 消息驅(qū)動Bean 35211.4.1 Message-DrivenBean和Session以及Entity Bean的異同 35311.4.2 何時使用Message-DrivenBean 35311.5 定義客戶端訪問接口 35311.5.1 遠程客戶端(Remote Clients) 35411.5.2 本地客戶端(Local Clients) 35411.5.3 Local接口和CMR(Container-Managed RelationShips) 35511.5.4 遠程還是本地訪問的選用 35511.5.5 方法參數(shù)和訪問方式 35511.6 企業(yè)Bean的內(nèi)容和命名約定 35611.7 EJB和JBoss開發(fā)實踐 35711.7.1 JBoss的安裝與啟動 35711.7.2 在JBoss下開發(fā)部署第一個HelloWorld EJB 36011.7.3 無狀態(tài)會話Bean(Stateless Session Bean):開發(fā)和部署 36411.7.4 無狀態(tài)會話Bean:效果和生命周期 36911.7.5 有狀態(tài)會話Bean(Stateful Session Bean):開發(fā)和部署 37011.7.6 有狀態(tài)會話Bean(Stateful Session Bean):效果和生命周期 37611.8 小結(jié) 377第12章 Spring和EJB 37812.1 概述 37812.2 Spring對EJB提供的支持 37812.3 Spring的EJB抽象訪問層 37912.3.1 深入BeanFactoryLocator接口 38012.3.2 BeanFactoryLocator背后資源消耗的考量 38212.4 使用Spring構(gòu)建本地?zé)o狀態(tài)會話Bean 38312.4.1 提供業(yè)務(wù)契約:公共服務(wù)接口 38412.4.2 提供本地和本地Home接口 38412.4.3 提供可測試的業(yè)務(wù)委托:POJO實現(xiàn)類 38512.4.4 提供Spring介入的企業(yè)Bean實現(xiàn)主類 38512.4.5 給出EJB組件部署描述符 38612.4.6 給出Spring和特定EJB容器配置,發(fā)布EJB 38712.4.7 創(chuàng)建Web客戶端,配置Web應(yīng)用 38812.4.8 解析Spring配置:SLSB代理工廠Bean 38912.4.9 創(chuàng)建Servlet測試SLSB,發(fā)布Web客戶包 39012.5 使用Spring構(gòu)建本地有狀態(tài)會話Bean 39112.5.1 SFSB解決方案 39112.5.2 提供業(yè)務(wù)契約:公共服務(wù)接口 39212.5.3 提供本地和本地Home接口 39212.5.4 提供可測試的業(yè)務(wù)委托:POJO實現(xiàn)類 39312.5.5 提供Spring介入的企業(yè)Bean實現(xiàn)主類 39412.5.6 提供定制的EJB異?!?9612.5.7 給出部署表述符和Spring配置文件 39612.5.8 創(chuàng)建Web客戶端并配置Web應(yīng)用 39712.5.9 解析Spring配置:使用JndiObjectFactoryBean自動查找JNDI 39812.5.10 創(chuàng)建Servlet測試SFSB并發(fā)布Web客戶包 39912.6 Spring眼中的EJB 40012.6.1 EJB的缺點 40012.6.2 Spring提倡的J2EE輕量架構(gòu)理念:IoC/DI、AOP、裝配和粘合 400第13章 Spring和郵件服務(wù) 40213.1 Spring郵件抽象層 40213.2 使用Spring郵件抽象發(fā)送簡單文本郵件 40413.2.1 定義抽象父類模板 40413.2.2 實現(xiàn)郵件發(fā)送子類 40513.2.3 更靈活的實現(xiàn) 40613.2.4 特定功能的子類實現(xiàn) 40913.3 發(fā)送HTML MIME郵件的設(shè)計實現(xiàn) 40913.3.1 分析設(shè)計和初步實現(xiàn) 41013.3.2 定義MailMessage實體 41113.3.3 功能實現(xiàn)和配置 41313.4 發(fā)送HTML/純文本MIME郵件,使用接口回調(diào) 41513.4.1 回調(diào)的契機 41513.4.2 功能實現(xiàn)和配置 41513.5 小結(jié) 418第14章 Spring和排程(scheduling)技術(shù) 41914.1 排程(Scheduling)原理 41914.2 什么是Timer 41914.2.1 執(zhí)行一次 42014.2.2 周期執(zhí)行 42114.3 Spring對Timer的支持 42214.3.1 用Spring來控制Timer 42214.3.2 使用MethodInvokingTimerTaskFactoryBean工廠類 42414.4 什么是Quartz 42614.4.1 Quartz的核心概念 42614.4.2 使用SimpleTrigger排程 42614.4.3 使用CronTrigger排程 43014.5 Spring對Quartz的支持 43314.5.1 使用Spring支持Quartz SimpleTrigger排程 43314.5.2 使用Spring支持Quartz CronTrigger排程 43514.6 Quartz的持久化 43814.6.1 Quartz持久機制的核心概念 43814.6.2 使用Spring做一個JDBC有狀態(tài)Quartz Job 43814.6.3 JDBC持久的有狀態(tài)和無狀態(tài)job示例運行效果解析 44114.7 小結(jié) 442第15章 J2EE中流行的Web MVC框架 44315.1 請求驅(qū)動的Web MVC框架簡介 44315.2 請求驅(qū)動的Web MVC框架在Struts中的實現(xiàn) 44415.2.1 Struts的簡介和基本W(wǎng)eb配置 44415.2.2 Struts的Action和ActionForm 44515.2.3 Struts的核心原理 44715.3 請求驅(qū)動的Web MVC框架在WebWork 2中的實現(xiàn) 44915.3.1 WebWork 2簡介 44915.3.2 WebWork 2實現(xiàn)Web登錄的頁面流程 45015.3.3 WebWork 2開發(fā)實踐:配置Web應(yīng)用 45115.3.4 WebWork 2開發(fā)實踐:配置驗證、實現(xiàn)Action并綁定驗證 45215.3.5 WebWork 2開發(fā)實踐:實現(xiàn)視圖 45415.4 事件驅(qū)動的Web MVC框架 45515.4.1 簡介 45515.4.2 Tapestry概述 45515.4.3 搭建Tapestry示例運行環(huán)境 45615.4.4 Tapestry開發(fā)實踐:配置Web應(yīng)用 45715.4.5 Tapestry開發(fā)實踐:創(chuàng)建HTML視圖模板 45815.4.6 Tapestry開發(fā)實踐:創(chuàng)建HTML組件規(guī)范文件 46015.4.7 Tapestry開發(fā)實踐:創(chuàng)建頁面類 46115.4.8 無需組件規(guī)范的HTML視圖模板 46215.5 小結(jié) 464第16章 請求驅(qū)動的Spring Web MVC框架16.1 Spring Web MVC框架簡介 46516.2 分發(fā)器 46616.3 處理器映射 46716.4 處理器攔截器 46816.5 控制器簡介 47016.5.1 簡單控制器 47016.5.2 控制器抽象基類 47116.5.3 命令控制器抽象基類 47216.5.4 表單控制器簡介 47316.6 普通表單控制器 47316.6.1 普通表單控制器:視圖流轉(zhuǎn) 47316.6.2 普通表單控制器:基本配置 47516.6.3 普通表單控制器:控制器和處理流程 47616.6.4 普通表單控制器:表單、領(lǐng)域模型和視圖 47916.6.5 普通表單控制器:驗證器和錯誤采集 48216.7 向?qū)奖韱慰刂破鳌?8216.7.1 向?qū)奖韱慰刂破鳎阂晥D流轉(zhuǎn) 48216.7.2 向?qū)奖韱慰刂破鳎夯九渲谩?8516.7.3 向?qū)奖韱慰刂破鳎嚎刂破鳌Ⅱ炞C器和處理流程 48616.7.4 向?qū)奖韱慰刂破鳎罕韱?、領(lǐng)域模型 48916.8 模型、視圖和視圖解析(View Resovling) 49016.8.1 返回視圖名稱 49016.8.2 保存模型屬性 49016.8.3 視圖解析器和視圖抽象 49116.9 小結(jié) 492第17章 Spring和視圖技術(shù)及Web框架的集成 49317.1 Spring集成JSP和JSTL 49317.1.1 JSP和JSTL簡介 49317.1.2 視圖解析器 49317.1.3 Spring的專有標簽 49717.2 Spring集成XSLT 49917.2.1 XSLT簡介 49917.2.2 示例開發(fā):需求和部署配置 49917.2.3 示例開發(fā):配置Web應(yīng)用 50017.2.4 示例開發(fā):把模型數(shù)據(jù)轉(zhuǎn)換成XML文檔 50017.2.5 示例開發(fā):使用XSLT進行文檔轉(zhuǎn)換 50317.3 Spring集成PDF/Excel 50417.3.1 簡介 50417.3.2 示例開發(fā):部署、配置Web應(yīng)用和模型數(shù)據(jù)采集 50417.3.3 示例開發(fā):把模型數(shù)據(jù)轉(zhuǎn)換成PDF和Excel視圖 50517.4 Spring集成Struts 50817.4.1 集成概述和手法 50817.4.2 Spring應(yīng)用上下文裝載的兩種方式 50917.4.3 使用Spring的ActionSupport類整合Struts 51017.4.4 使用Spring的DelegatingRequestProcessor覆寫Struts的RequestProcessor 51217.4.5 使用Spring代理委托管理Struts Action 51417.4.6 使用Spring攔截Struts Action,替換寵物店的安全策略 51517.5 Spring集成WebWork2 51917.6 Spring集成Tapestry4 52217.6.1 Tapestry4背后的IoC容器:HiveMind 52217.6.2 部署環(huán)境和邏輯分層 52217.6.3 分層重構(gòu):引入表現(xiàn)層的業(yè)務(wù)注射,轉(zhuǎn)移業(yè)務(wù)邏輯 52317.6.4 分層重構(gòu):引入業(yè)務(wù)層,實現(xiàn)業(yè)務(wù)邏輯 52417.6.5 分層重構(gòu):引入工具層,向Tapestry應(yīng)用注射Spring上下文 52417.6.6 集成配置:Web應(yīng)用配置、修改組件規(guī)范文件 52517.6.7 集成配置:通過HiveMind和工具類,銜接Spring 52617.7 小結(jié) 528第18章 Spring和單元測試 52918.1 模仿對象 52918.2 Spring Mock簡介 52918.2.1 Spring Mock Web簡介 53018.2.2 擴展JUnit框架的測試基類 53018.3 Spring Mock快速指南 53118.3.1 Web組件的單元測試:搭建測試環(huán)境 53118.3.2 Web組件的單元測試:視圖轉(zhuǎn)發(fā) 53318.3.3 Web組件的單元測試:會話狀態(tài) 53318.3.4 Web組件的單元測試:簡單邏輯 53418.3.5 事務(wù)性單元測試:使用Spring Mock事務(wù)基類搭建測試環(huán)境 53518.4 EasyMock快速指南 53818.4.1 EasyMock簡介 53818.4.2 組件單元測試:搭建測試環(huán)境 53918.4.3 組件單元測試:模擬業(yè)務(wù)接口和領(lǐng)域?qū)ο蟮慕换ァ?4018.4.4 組件單元測試:模擬具體類和DAO的交互 54118.5 結(jié)合使用Spring Mock和EasyMock 54118.5.1 Web組件單元測試:模擬控制器和業(yè)務(wù)接口、領(lǐng)域?qū)ο蟮慕换ァ?4218.5.2 Web組件單元測試:重定向測試 545第19章 Spring和JMX技術(shù) 54719.1 JMX概述 54719.2 JMX的體系分層架構(gòu) 54719.2.1 核心組件 54819.2.2 設(shè)備層(Instrumentation Level) 54919.2.3 代理層(Agent Level) 55019.2.4 分布服務(wù)層(Distributed Service Level) 55219.2.5 附加管理協(xié)議API 55219.3 JMX編程實踐 55319.3.1 標準MBean編程:MBean接口和實現(xiàn)類 55319.3.2 標準MBean編程:JMX Agent 55419.3.3 標準MBean編程:手工和可視化注冊MBean 55519.3.4 通知模型編程 55719.3.5 動態(tài)MBean和輔助元數(shù)據(jù)類編程 56119.3.6 JMX連接器(Connectors)編程:基本流程 56219.3.7 JMX Connectors編程:準備MBean套件和監(jiān)聽器 56319.3.8 JMX Connectors編程:創(chuàng)建服務(wù)器 56519.3.9 JMX Connectors編程:創(chuàng)建客戶端 56719.4 Spring對JMX的集成支持 56819.4.1 Spring集成JMX概述 56819.4.2 視Spring Bean為JMX MBean:簡單的JavaBean配置 56919.4.3 視Spring Bean為JMX MBean:客戶代碼 57119.4.4 視Spring Bean為JMX MBean:自動偵測并且注冊MBean 57219.4.5 視Spring Bean為JMX MBean:ObjectName命名策略 57419.4.6 Spring的JSR-160 Connector支持:服務(wù)器端配置和代碼 57619.4.7 Spring的JSR-160 Connector支持:客戶端配置和代碼 57819.4.8 Sping集成JMX技術(shù)展望 579第20章 從Spring寵物店看企業(yè)應(yīng)用架構(gòu)模式 58020.1 企業(yè)應(yīng)用架構(gòu)模式(POEAA)簡介 58020.1.1 什么是企業(yè)應(yīng)用架構(gòu)模式 58020.1.2 架構(gòu)和分層 58020.1.3 企業(yè)應(yīng)用 58020.2 寵物店和分層 58120.3 寵物店和領(lǐng)域邏輯 58220.3.1 如何組織領(lǐng)域邏輯 58220.3.2 事務(wù)腳本 58320.3.3 領(lǐng)域模型的基本概念 58520.3.4 領(lǐng)域模型的持久 58820.3.5 服務(wù)層 58920.4 寵物店和數(shù)據(jù)源架構(gòu)模式 59120.5 寵物店和Web表現(xiàn)模式 59220.5.1 模板視圖 59220.5.2 轉(zhuǎn)換視圖 59220.5.3 兩步視圖 592
圖書封面
圖書標簽Tags
無
評論、評分、閱讀與下載