Spring 5 高級編程, 5/e
Luliana Cosmina
- 出版商: 清華大學
- 出版日期: 2019-01-01
- 定價: $768
- 售價: 8.5 折 $653
- 語言: 簡體中文
- 裝訂: 平裝
- ISBN: 7302516448
- ISBN-13: 9787302516446
-
相關分類:
Java 相關技術
- 此書翻譯自: Pro Spring 5: An In-Depth Guide to the Spring Framework and Its Tools
下單後立即進貨 (約4週~6週)
買這商品的人也買了...
-
$880$695 -
$454Spring 實戰, 4/e (Spring in Action, 4/e)
-
$454JavaEE 開發的顛覆者: Spring Boot實戰
-
$449Hibernate 實戰, 2/e
-
$450$356 -
$580$458 -
$580$458 -
$580$452 -
$480$408 -
$297深入淺出 Spring Boot 2.x
-
$607Spring 5 開發大全
-
$580$493 -
$580$522 -
$607Effective Java, 3/e (簡體中文版)
-
$480$379 -
$580$493 -
$520$411 -
$800$632 -
$420$332 -
$602Spring 5 企業級開發實戰
-
$602Spring5 核心原理與 30個類手寫實戰
-
$556全棧技能修煉:使用 Angular 和 SpringBoot 打造全棧應用
-
$505Spring 實戰, 5/e (Spring in Action, 5/e)
-
$594$564 -
$600$468
相關主題
商品描述
在閱讀完這本經典的著作後,你將能夠使用Spring的強大功能至上而下地構建複雜的Spring應用程序。
對於Java程序員和開發人員來說,敏捷、輕量級的開源Spring框架已成為事實上的主流企業級Java應用開發框架,同時還能整合其他領先的開源、敏捷和輕量級Java技術,比如Hibernate、Groovy、MyBatis等。此外,Spring也可以使用Java EE和JPA 2。
作者簡介
作者:[美]尤莉安娜.科斯米納(Iuliana Cosmina) 、羅布.哈羅(Rob Harrop)、克里斯.舍弗(Chris Schaefer)、克拉倫斯.厚(Clarence Ho) 著
目錄大綱
第1章Spring介紹1
1.1什麼是Spring 1
1.1.1 Spring框架的演變1
1.1.2翻轉控製或依賴注入5
1.1.3依賴注入的演變6
1.1.4除了依賴注入7
1.2 Spring項目10
1.2. 1 Spring的起源10
1.2.2 Spring社區10
1.2.3 Spring工具套件11
1.2.4 Spring Security項目11
1.2.5 Spring Boot 11
1.2.6 Spring批處理和集成11
1.2.7許多其他項目11
1.3 Spring的替代品12
1.3.1 JBoss Seam框架12
1.3.2 Google Guice 12
1.3.3 PicoContainer 12
1.3.4 JEE 7容器12
1.4小結12
第2章入門13
2.1獲取Spring框架13
2.1.1快速入門13
2.1.2在GitHub中查找Spring 14
2.1.3使用正確的JDK 14
2.2了解Spring打包14
2.2.1為自己的應用程序選擇模塊15
2.2.2在Maven存儲庫上訪問Spring模塊15
2.2.3使用Gradle訪問Spring模塊16
2.2.4使用Spring文檔17
2.2.5將Spring放入Hello World中17
2.2.6構建示例Hello World應用程序17
2.2.7用Spring重構20
2.3小結22
第3章在Spring中引入IoC和DI 23
3.1控制反轉和依賴注入23
3.2控制反轉的類型23
3.2.1依賴拉取24
3.2.2上下文依賴查找24
3.2.3構造函數依賴注入25
3.2.4 setter依賴注入25
3.2.5注入與查找25
3.2.6 setter注入與構造函數注入26
3.3 Spring中的控制反轉28
3.4 Spring中的依賴注入28
3.4.1 bean和BeanFactory 28
3.4.2 BeanFactory實現29
3.4.3 ApplicationContext 30
3.5配置ApplicationContext 30
3.5.1設置Spring配置選項30
3.5.2基本配置概述30
3.5.3聲明Spring組件31
3.5.4使用方法注入53
3.5.5了解bean命名60
3.5.6了解bean實例化模式66
3.6解析依賴項69
3.7自動裝配bean 71
3.8設置bean繼承77
3.9小結79
第4章詳述Spring配置和Spring Boot 80
4.1 Spring對應用程序可移植性的影響80
4.2管理bean生命週期81
4.3掛鉤到bean的創建82
4.3.1在創建bean時執行方法82
4.3.2實現InitializingBean接口84
4.3.3使用JSR-250 @PostConstruct註解86
4.4使用@Bean聲明一個初始化方法88
4.5掛鉤到bean的銷毀89
4.5.1在bean被銷毀時執行一個方法89
4.5.2實現DisposableBean接口91
4.5.3使用JSR-250 @PreDestroy註解92
4.6使用@Bean聲明銷毀方法93
4.7了解解析的順序94
4.8讓Spring感知bean 94
4.8.1使用BeanNameAware接口95
4.8.2使用ApplicationContextAware接口96
4.9使用FactoryBean 97
4.10直接訪問FactoryBean 100
4.11使用factory-bean和factory-method屬性101
4.12 JavaBean PropertyEditor 102
4.12.1使用內置的PropertyEditor 102
4.12.2創建自定義PropertyEditor 106
4.13更多的Spring ApplicationContext配置108
4.13. 1使用MessageSource進行國際化108
4.13.2在獨立的應用程序中使用
MessageSource 110
4.13.3應用程序事件111
4.14訪問資源112
4.15使用Java類進行配置113
4.15.1 Java中的ApplicationContext配置113
4.15.2 Spring混合配置119
4.15.3 Java或XML配置?121
4.16配置文件121
4.17使用Java配置來配置Spring配置文件123
4.18 Environment和PropertySource抽象125
4.19使用JSR-330註解進行配置128
4.20使用Groovy進行配置130
4.21 Spring Boot 132
4.22小結135
第5章Spring AOP 136
5.1 AOP概念137
5.2 AOP的類型137
5.2.1使用靜態AOP 137
5.2.2使用動態AOP 137
5.2.3選擇AOP類型138
5.3 Spring中的AOP 138
5.3.1 AOP Alliance 138
5.3.2 AOP中的Hello World示例138
5.4 Spring AOP架構139
5.4.1 Spring中的連接點139
5.4.2 Spring中的切面140
5.4.3關於ProxyFactory類140
5.4.4在Spring中創建通知140
5.4 .5通知的接口141
5.4.6創建前置通知141
5.4.7通過使用前置通知保護方法訪問142
5.4.8創建後置返回通知145
5.4.9創建環繞通知147
5.4.10創建異常通知148
5.4 .11選擇通知類型150
5.5在Spring中使用顧問和切入點150
5.5.1 Pointcut接口151
5.5.2可用的切入點實現152
5.5.3使用DefaultPointcutAdvisor 152
5.5.4使用StaticMethodMatcherPointcut創建靜態切入點153
5.5.5使用DyanmicMethodMatcherPointcut創建動態切入點155
5.5.6使用簡單名稱匹配157
5.5.7用正則表達式創建切入點158
5.5.8使用AspectJ切入點表達式創建切入點159
5.5.9創建註解匹配切入點160
5.5.10便捷的Advisor實現161
5.6了解代理161
5.6.1使用JDK動態代理162
5.6.2使用CGLIB代理162
5.6.3比較代理性能163
5.6.4選擇要使用的代理165
5.7切入點的高級使用166
5.7.1使用控制流切入點166
5.7.2使用組合切入點168
5.7.3組合和切入點接口170
5.7.4切入點小結170
5.8引入入門170
5.8. 1引入的基礎知識171
5.8.2使用引入進行對象修改檢測172
5.8.3引入小結175
5.9 AOP的框架服務175
5.9.1以聲明的方式配置AOP 175
5.9.2使用ProxyFactoryBean 176
5.9.3使用aop名稱空間180
5.10使用@AspectJ樣式註解184
5.11 AspectJ集成189
5.11.1關於AspectJ 189
5.11.2使用單例切面189
5.12小結191
第6章Spring JDBC支持192
6.1介紹Lambda表達式192
6.2示例代碼的示例數據模型193
6.3研究JDBC基礎結構196
6.4 Spring JDBC基礎結構199
6.5數據庫連接和數據源200
6.6嵌入數據庫支持203
6.7在DAO類中使用DataSource 204
6.8異常處理206
6.9 JdbcTemplate類207
6.9.1在DAO類中初始化JdbcTemplate 207
6.9 .2通過NamedParameterJdbcTemplate使用命名參數209
6.9.3使用RowMapper<T>檢索域對象210
6.10使用ResultSetExtractor檢索嵌套域對象211
6.11建模JDBC操作的Spring類213
6.12使用MappingSqlQuery<T>查詢數據215
6.13插入數據並檢索生成的鍵220
6.14使用BatchSqlUpdate進行批處理操作221
6.15使用SqlFunction調用存儲函數225
6.16 Spring Data項目:JDBC Extensions 226
6.17使用JDBC的注意事項226
6.18 Spring Boot JDBC 227
6.19小結229
第7章在Spring中使用Hibernate 230
7.1示例代碼的示例數據模型230
7.2配置Hibernate的SessionFactory 232
7.3使用Hibernate註解的ORM映射234
7.3.1簡單的映射235
7.3.2一對多映射238
7.3.3多對多映射239
7.4 Hibernate會話接口240
7.4.1使用Hibernate查詢語言查詢數據241
7.4 .2使用延遲獲取進行簡單查詢241
7.4.3使用關聯獲取進行查詢243
7.5插入數據245
7.6更新數據248
7.7刪除數據249
7.8配置Hibernate以便從實體生成表250
7.9註解方法或字段?252
7.10使用Hibernate時的注意事項254
7.11小結254
第8章在Spring中使用JPA 2進行數據訪問255
8.1 JPA 2.1介紹255
8.1.1示例代碼的示例數據模型256
8.1.2配置JPA的EntityManagerFactory 256
8.1.3使用JPA註解進行ORM映射258
8.2使用JPA執行數據庫操作259
8.2.1使用Java持久化查詢語言來查詢數據260
8.2. 2查詢非類型化結果266
8.3使用構造函數表達式查詢自定義結果類型267
8.3.1插入數據269
8.3.2更新數據271
8.3.3刪除數據272
8.4使用本地查詢273
8.5使用簡單的本地查詢273
8.6使用SQL ResultSet映射進行本地查詢274
8.7 Spring Data JPA介紹278
8.7.1添加Spring Data JPA庫依賴項279
8.7.2使用Spring Data JPA Repository抽象
進行數據庫操作279
8.8使用JpaRepository 283
8.9帶有自定義查詢的Spring Data JPA 284
8.10通過使用Hibernate Envers保存
實體版本293
8.10.1為實體版本控制添加表293
8.10.2為實體版本控製配置
EntityManagerFactory 294
8.10.3啟用實體版本控制和歷史檢索296
8.10.4測試實體版本控制297
8.11 Spring Boot JPA 298
8.12使用JPA時的注意事項302
8.13小結302
第9章事務管理303
9.1研究Spring事務抽象層303
9.2 PlatformTransactionManager的實現304
9.3分析事務屬性305
9.3.1 TransactionDefinition接口305
9.3.2 TransactionStatus接口306
9.4示例代碼的示例數據模型和基礎結構307
9.4.1創建一個帶有依賴項的簡單Spring JPA項目307
9.4.2示例數據模型和通用類308
9.4.3使用AOP配置進行事務管理315
9.5使用編程式事務316
9.6使用Spring實現全局事務318
9.6.1實現JTA示例的基礎結構318
9.6.2使用JTA實現全局事務319
9.6. 3 Spring Boot JTA 325
9.6.4使用JTA事務管理器的注意事項328
9.7小結329
第10章使用類型轉換和格式化進行驗證330
10.1依賴項330
10.2 Spring類型轉換系統331
10.3使用PropertyEditors從字符串進行轉換331
10.4 Spring類型轉換介紹333
10.4.1實現自定義轉換器333
10.4.2配置ConversionService 334
10.4.3任意類型之間的轉換335
10.5 Spring中的字段格式化338
10.5.1實現自定義格式化器338
10.5.2配置ConversionServiceFactoryBean 339
10.6 Spring中的驗證340
10.6.1使用Spring Validator接口340
10.6.2使用JSR-349 Bean Validation 342
10.6.3在Spring中配置Bean Validation支持343
10.6.4創建自定義驗證器344
10.7使用AssertTrue進行自定義驗證346
10.8自定義驗證的注意事項347
10.9決定使用哪種驗證API 347
10.10小結347
第11章任務調度348
11.1任務調度示例的依賴項348
11.2 Spring中的任務調度349
11.2.1 Spring TaskScheduler抽象介紹349
11.2.2研究示例任務350
11.2.3使用註解進行任務調度355
11.2.4 Spring中異步任務的執行357
11.3 Spring中任務的執行359
11.4小結360
第12章使用Spring遠程處理361
12.1使用示例的數據模型362
12.2為JPA後端添加必需的依賴項363
12.3實現和配置SingerService 364
12.3.1實現SingerService 364
12.3.2配置SingerService 365
12.3.3公開服務367
12.3.4調用服務368
12.4在Spring中使用JMS 369
12.4.1在Spring中實現JMS監聽器371
12.4.2在Spring中發送JMS消息372
12.5 Spring Boot Artemis啟動器373
12.6在Spring中使用RESTful-WS 375
12.6.1 RESTful Web服務介紹375
12.6.2為示例添加必需的依賴項376
12.6. 3設計Singer RESTful Web服務376
12.6.4使用Spring MVC展示REST樣式的Web服務376
12.7配置Castor XML 377
12.7.1實現SingerController 378
12.7.2配置Spring Web應用程序380
12.7.3使用curl測試RESTful-WS 382
12.7.4使用RestTemplate訪問RESTful-WS 383
12.7.5使用Spring Security來保護
RESTful-WS 386
12.8使用Spring Boot開發RESTful-WS 389
12.9在Spring中使用AMQP 392
12.10小結397
第13章Spring測試398
13.1測試類別介紹398
13.2使用Spring測試註解399
13.3實施邏輯單元測試400
13.3.1添加所需的依賴項400
13.3.2單元測試Spring MVC控制器401
13.4實現集成測試403
13.4.1添加所需的依賴項403
13.4.2配置用於服務層測試的配置文件403
13.4.3 Java配置版本404
13.4.4實施基礎結構類405
13.4.5對服務層進行單元測試408
13.4.6丟棄DbUnit 410
13.5實現前端單元測試413
13.6小結413
第14章Spring中的腳本支持414
14.1在Java中使用腳本支持414
14.2 Groovy介紹415
14.2.1動態類型化416
14.2.2簡化的語法416
14.2.3閉包417
14.3與Spring一起使用Groovy 418
14.3.1開發Singer對象域418
14.3.2實現規則引擎418
14.3.3將規則工廠實現為Spring可刷新bean 420
14.3.4測試年齡分類規則421
14.3.5內聯動態語言代碼423
14.4小結424
第15章應用程序監控425
15.1 Spring中的JMX支持425
15.2將Spring bean導出為JMX 425
15.3使用Java VisualVM進行JMX監控426
15.4監視Hibernate統計信息428
15.5使用了Spring Boot的JMX 429
15.6小結431
第16章Web應用程序432
16.1實現示例的服務層433
16.1.1對示例使用數據模型433
16.1 .2實現DAO層435
16.1.3實現服務層435
16.2配置SingerService 436
16.3 MVC和Spring MVC介紹437
16.3.1 MVC介紹438
16.3.2 Spring MVC介紹438
16.3.3 Spring MVC WebApplicationContext層次結構439
16.3.4 Spring MVC請求生命週期439
16.3.5 Spring MVC配置440
16.3.6在Spring MVC中創建第一個視圖442
16.3.7配置DispatcherServlet 443
16.3.8實現SingerController 444
16.3.9實現歌手列表視圖445
16.3.10測試歌手列表視圖445
16.4理解Spring MVC項目結構445
16.5實現國際化(il8n) 446
16.5.1在DispatcherServlet配置中配置國際化446
16.5 .2為國際化支持而修改歌手列表視圖448
16.6使用主題和模板448
16.7使用Apache Tiles查看模板450
16.7.1設計模板佈局450
16.7.2實現頁面佈局組件451
16.8在Spring MVC中配置Tiles 453
16.9實現歌手信息視圖454
16.9.1將URL映射到視圖454
16.9.2實現顯示歌手視圖454
16.9.3實現編輯歌手視圖456
16.9.4實現添加歌手視圖459
16.9.5啟用JSR-349(bean驗證) 460
16.10使用jQuery和jQuery UI 462
16.10.1 jQuery和jQuery UI介紹462
16.10.2在視圖中使用jQuery和jQuery UI 462
16.10.3使用CKEditor進行富文本編輯463
16.10.4使用jqGrid實現具有分頁支持的數據網格464
16.10.5在歌手列表視圖中啟用jqGrid 464
16.10.6在服務器端啟用分頁466
16.11處理文件上傳468
16.11.1配置文件上傳支持468
16.11.2修改視圖以支持文件上傳469
16.11.3修改控制器以支持文件上傳470
16.12用Spring Security保護Web應用程序471
16.12.1配置Spring安全性471
16.12.2將登錄功能添加到應用程序中473
16.12.3使用註解來保護控制器方法475
16.13使用Spring Boot創建Spring Web
應用程序475
16.14設置DAO層476
16.14.1設置服務層477
16.14.2設置Web層478
16.14.3設置Spring安全性479
16.15創建Thymeleaf視圖479
16.16使用Thymeleaf擴展482
16.17小結486
第17章WebSocket 487
17.1 WebSocket介紹487
17.2與Spring一起使用WebSocket 487
17.3使用WebSocket API 488
17.4使用STOMP發送消息496
17.5小結500
第18章Spring項目:批處理、集成和XD等501
18.1 Spring Batch 502
18.2 JSR-352 507
18.3 Spring Boot Batch 509
18.4 Spring Integration 512
18.5 Spring XD 516
18.6 Spring框架的五個最顯著的功能517
18.6.1功能性Web框架518
18.6.2 Java 9互操作性526
18.6.3 JDK模塊化526
18.6.4使用Java 9和Spring WebFlux進行反應式編程528
18.6.5 Spring支持JUnit 5 Jupiter 529
18.7小結536
附錄A設置開發環境537