精通Spring2.0

精通Spring2.0

《精通Spring2.0》是2007年電子工業出版社出版的圖書,作者是羅時飛。本書詳盡系統地介紹了java ee的基礎知識、spring 2.0的各種功能,以及spring 2.0的高級使用技巧和最佳實踐。

內容簡介

本書是關於spring 2.0的權威教程,是java/java ee開發者必備的參考書。全書共分為4篇:第1篇介紹spring 2.0核心技術,主要圍繞spring元框架進行闡述;第2篇介紹dao層集成技術,主要圍繞jdbc、hibernate和jpa等持久化技術展開論述,針對spring使能套用的事務管理和集成測試,也進行了相關介紹;第3篇介紹java ee服務及技術的集成,主要圍繞企業套用中使用的各種java ee服務及技術展開論述;第4篇介紹spring 2.0最佳實踐,主要從平台差異性和套用差異性角度給出論述。全書理論與實踐並重,通過大量的實例幫助讀者儘快掌握spring 2.0的使用技巧,從而提高本書的參考、閱讀價值。.

本書適合作為java/java ee開發者、系統分析師和架構師的參考書,同時,本書非常適合於高校相關專業的學生,以及對java/java ee開發有興趣的各類開發者。

作者

羅時飛,獨立Java EE顧問。西安交通大學碩士。從事JavaEE開發、架構工作7年多,曾擔任大型軟體公司產品開發經理,實踐經驗豐富。對Java EE平台、敏捷方法及開源技術有深入研究,出版圖書多本。現在,他依託 網站專職從事企業級Java的推廣工作。.

目錄

第1篇 spring 2.0核心技術

第1章 java ee 5. 3

1.1 java ee 5引入的新特性 3

1.2 進入ejb 3.0時代 6

1.3 java ee開發模型的局限性 8

1.4 小結 10

第2章 步入spring 2.0 11

2.1 挑戰java ee 5開發模型 11

2.1.1 輕量級開發模型 12

2.1.2 倡導敏捷開發 15

2.1.3 spring 2.0的架構價值 16

2.2 有所為和有所不為 17

2.2.1 spring 2.0提供的功能 17

2.2.2 排除在外 19

2.3 spring 2.0時代的到來 20

2.4 小結 21

第3章 獲得spring 2.0發布版和源碼 23

3.1 獲得spring 2.0持續發布版 23

3.2 獲得持續更新的spring 2.0項目源碼 24

3.2.1 訪問存儲在cvs中的原始碼 25

.3.2.2 訪問存儲在subversion中的原始碼 26

3.3 若干問題的思考 28

3.3.1 重視單元測試及測試覆蓋度 28

3.3.2 看重文檔 28

3.3.3 對持續集成的重視 28

3.4 小結 29

第4章 啟動spring 2.0使能項目 31

4.1 背景知識介紹 31

4.2 開發平台的搭建 32

4.2.1 選擇開發環境 34

4.2.2 spring ide的使用 36

4.3 小結 40

第5章 控制反轉容器 43

5.1 背景知識 44

5.2 beanfactory 45

5.2.1 第一個beanfactory實例 46

5.2.2 基於xml schema的配置 48

5.2.3 設值(setter)注入 50

5.2.4 構造器注入 51

5.2.5 beanfactoryaware回調接口 53

5.2.6 beannameaware回調接口 54

5.2.7 基於泛型訪問beanfactory 56

5.3 applicationcontext 56

5.3.1 第一個applicationcontext實例 57

5.3.2 載入ioc容器到web套用中 59

5.3.3 生命周期接口 62

5.3.4 複合多個配置檔案 63

5.3.5 國際化和本地化訊息資源 64

5.3.6 applicationcontextaware 67

5.3.7 發布並監聽事件 69

5.3.8 抽象bean與子bean定義 72

5.3.9 方法注入 73

5.3.10 操控資源 78

5.4 高級特性 82

5.4.1 使用beanfactorypostprocessor自定義配置元數據 82

5.4.2 自定義屬性編輯器 86

5.4.3 受管bean的作用範圍 89

5.4.4 使用beanpostprocessor自定義受管bean 95

5.4.5 使用@required 97

5.4.6 使用factorybean自定義實例化邏輯 101

5.4.7 定義集合 112

5.4.8 depends-on 116

5.4.9 autowiring協作者 118

5.4.10 回調接口的觸發順序 120

5.5 小結 121

第6章 面向切面編程 123

6.1 aop背景知識 124

6.2 aspectj 5介紹 125

6.2.1 before裝備 132

6.2.2 afterreturning裝備 134

6.2.3 afterthrowing裝備 136

6.2.4 after裝備 138

6.2.5 around裝備 138

6.2.6 引入(introduction) 140

6.3 spring aop基本概念 142

6.4 spring aop的老式用法 146

6.4.1 支持的裝備類型 146

6.4.2 攔截器鏈 157

6.4.3 使用autoproxy特性 161

6.4.4 切換代理機制 163

6.4.5 使用targetsource 164

6.5 基於@aspectj的aop 166

6.5.1 聲明切面、pointcut和裝備 167

6.5.2 pointcut表達語言 174

6.5.3 使用aspectj 5進行領域對象的依賴注入操作 178

6.6 基於aop命名空間的aop 186

6.6.1 spring 2.0引入的aop命名空間 187

6.6.2 聲明切面、pointcut和裝備 190

6.7 小結 196

第2篇 dao層集成技術

第7章 dao抽象支持 201

7.1 背景 201

7.2 spring 2.0對dao提供的支持 203

7.2.1 dataaccessexception異常體系 204

7.2.2 daosupport及其子類 205

7.2.3 dataaccessutils實用類 206

7.3 小結 207

第8章 jdbc集成 209

8.1 背景知識及示例 209

8.2 spring對jdbc提供的支持 214

8.2.1 運行jdbc版petclinic實例 214

8.2.2 jdbctemplate與jdbcdaosupport 219

8.2.3 namedparameterjdbctemplate與namedparameterjdbcdaosupport 228

8.2.4 simplejdbctemplate與simplejdbcdaosupport 230

8.2.5 將jdbc操作建模為java對象 231

8.3 jdbc集成高級特性 234

8.3.1 支持的數據源類型 234

8.3.2 lob處理 239

8.3.3 大批量數據處理 245

8.3.4 如何生成主鍵 249

8.3.5 與存儲過程互動 250

8.3.6 對行集的支持 252

8.3.7 sql異常轉換器 252

8.4 小結 254

第9章 事務集成 255

9.1 背景知識及示例 255

9.2 spring對事務提供的支持 258

9.2.1 分析petclinic的事務管理策略 258

9.2.2 事務定義 262

9.2.3 各種platformtransactionmanager實現 265

9.2.4 編程式事務 266

9.2.5 使用@transactional注釋 271

9.2.6 spring 2.0引入的tx:advice內容模式 277

9.3 事務集成高級特性 279

9.3.1 java ee套用伺服器的事務集成 279

9.3.2 在aspectj套用中使用@transactional 282

9.3.3 選擇合適的事務策略 285

9.4 小結 285

第10章 單元和集成測試 287

10.1 背景知識及示例 287

10.2 spring對集成測試的支持 289

10.2.1 運行petclinic中的jdbcclinictests測試 289

10.2.2 支持包的內容 292

10.2.3 基於annotation注釋技術的集成測試 298

10.3 集成測試最佳實踐 301

10.4 小結 302

第11章 hibernate集成 305

11.1 背景知識及示例 305

11.2 hibernate tools介紹 312

11.2.1 ant支持 312

11.2.2 eclipse支持 315

11.3 spring對hibernate提供的支持.. 317

11.3.1 運行hibernate版petclinic實例 317

11.3.2 hibernatetemplate與hibernatecallback 319

11.4 hibernate集成高級特性 325

11.4.1 事務管理支持 325

11.4.2 localsessionfactorybean 328

11.4.3 annotationsessionfactorybean 329

11.4.4 lob處理 332

11.5 集成測試支持 339

11.6 小結 343

第12章 java持久化api集成 345

12.1 背景知識及示例 345

12.2 spring對jpa提供的支持 348

12.2.1 jpatemplate與jpacallback 348

12.2.2 @persistencecontext注釋 355

12.3 jpa集成高級特性 358

12.3.1 事務管理支持 358

12.3.2 裝載期織入 359

12.3.3 sharedentity-managerbean 364

12.4 集成測試支持 365

12.5 小結 373

第3篇 集成java ee服務及技術

第13章 jndi集成 377

13.1 背景知識及示例 377

13.2 spring對jndi提供的支持 380

13.2.1 單獨使用jndiobjectfactorybean 380

13.2.2 同時使用jndiobjecttargetsource和proxyfactorybean 385

13.2.3 jnditemplate與jndicallback的使用 386

13.3 spring 2.0引入的jndilookup內容模式 388

13.4 小結 389

第14章 ejb 3.0集成 391

14.1 背景知識及示例 391

14.2 spring對開發ejb組件提供的支持 393

14.2.1 輔助並簡化會話bean組件的開發 394

14.2.2 輔助並簡化mdb組件的開發 399

14.3 spring對訪問ejb組件提供的支持 400

14.4 解決性能問題 403

14.4.1 ioc容器的分層管理 405

14.4.2 改進後的設計 408

14.5 小結 409

第15章 執行緒池和任務調度集成 411

15.1 spring提供的執行緒池支持 411

15.2 spring提供的任務調度支持 414

15.2.1 spring對java.util.timer提供的任務調度支持 414

15.2.2 spring對quartz提供的任務調度支持 416

15.2.3 spring對java.util.concurrent提供的任務調度支持 419

15.2.4 spring對commonj提供的任務調度支持 420

15.3 小結 421

第16章 java訊息服務集成 423

16.1 背景知識及示例 424

16.2 spring對jms訊息提供的支持 426

16.2.1 傳送jms訊息 427

16.2.2 同步和異步消費jms訊息 433

16.3 基於jms提供者的遠程服務 440

16.4 jms事務管理 443

16.5 小結 446

第17章 javamail集成 447

17.1 背景知識及示例 447

17.2 spring對javamail提供的支持 450

17.2.1 傳送簡單郵件 451

17.2.2 傳送含有附屬檔案的郵件 454

17.2.3 傳送含有html和內嵌資源的郵件 457

17.3 小結 458

第18章 遠程服務集成 459

18.1 遠程服務背景知識及示例 459

18.2 spring對遠程服務提供的支持 462

18.2.1 rmi/rmi-iiop集成支持 463

18.2.2 hessian和burlap集成支持 466

18.2.3 http invoker集成支持 467

18.2.4 web服務集成支持 468

18.3 小結 471

第19章 java管理擴展集成 473

19.1 背景知識及示例 474

19.2 spring對jmx提供的支持 477

19.2.1 自動註冊mbean組件 478

19.2.2 將pojo導出為mbean組件 481

19.2.3 控制mbean組件的管理接口 484

19.2.4 控制mbean組件的objectname 488

19.2.5 傳送與接收jmx通知 490

19.2.6 通過套用訪問mbean組件 492

19.3 小結 494

第20章 java ee連線器架構集成 495

20.1 背景知識及示例 495

20.2 spring對jca cci提供的支持 497

20.2.1 ccitemplate及相關回調接口 497

20.2.2 將jca操作建模為java對象 500

20.3 事務管理 502

20.4 小結 504

第21章 腳本集成 505

21.1 spring對腳本提供的支持 505

21.2 spring對groovy提供的支持 506

21.3 spring對jruby提供的支持 510

21.4 spring對beanshell提供的支持 512

21.5 小結 513

第4篇 spring 2.0最佳實踐

第22章 平台的差異性 517

22.1 平衡平台差異性 517

22.1.1 java se基礎平台 517

22.1.2 java ee套用伺服器 519

22.1.3 神秘的類裝載器 521

22.1.4 各種java ee容器的增值服務 522

22.2 積累spring/java ee知識的絕佳去處 523

第23章 套用的差異性 529

23.1 平衡套用差異性 529

23.1.1 日誌管理 529

23.1.2 如何在web框架中操控di容器 531

23.1.3 分散式套用 535

23.1.4 享用部落格大餐 536

23.2 逐步採納spring 2.0 536

23.3 小結... 539

相關詞條

相關搜尋

熱門詞條

聯絡我們