《Spring實戰(第4版)》是經典的、暢銷的Spring學習和實踐指南。 第4版針對Spring 4進行了更新。全書分為四部分。第1部分介紹Spring框架的核心知識。第二部分在此基礎上介紹了如何使用Spring構建Web應用程序。第三部分告別前端,介紹了如何在應用程序的后端使用Spring。第四部分描述了如何使用Spring與其他的應用和服務進行集成。 《Spring實戰(第4版)》適用于已具有一定Java 編程基礎的讀者,以及在Java 平臺下進行各類軟件開發的開發人員、測試人員,尤其適用于企業級Java 開發人員。本書既可以被剛開始學習Spring 的讀者當作學習指南,也可以被那些想深入了解Spring 某方面功能的專業用戶作為參考用書。
全球有超過100 000的開發者使用本書來學習Spring中文版累計銷售超10萬冊,暢銷經典Spring 技術圖書,針對Spring 4 全新升級作者Craig Walls,SpringSource的軟件開發人員,也是一位暢銷書作者。第3版譯者繼續翻譯新版,品質保障!
Craig Walls是Pivotal的高級工程師,是Spring Social和Spring Sync的項目領導者,同時也是Manning出版社《Spring In Action》的作者,目前這本書已經更新到了第四版。他非常熱心于Spring框架的推廣,經常在當地的用戶組和會議上演講并在博客上撰寫Spring相關的內容。在不琢磨代碼的時候,Craig Walls會盡可能多地陪伴他的妻子、兩個女兒、兩只小鳥以及兩只小狗。
第1部分Spring的核心
第1章Spring之旅3
1.1簡化Java開發4
1.1.1激發POJO的潛能5
1.1.2依賴注入5
1.1.3應用切面11
1.1.4使用模板消除樣板式代碼16
1.2容納你的Bean18
1.2.1使用應用上下文19
1.2.2bean的生命周期20
1.3俯瞰Spring風景線21
1.3.1Spring模塊22
1.3.2Spring Portfolio24
1.4Spring的新功能27
1.4.1Spring 3.1新特性27
1.4.2Spring 3.2新特性28
1.4.3Spring 4.0新特性30
1.5小結30
第2章裝配Bean33
2.1Spring配置的可選方案34
2.2自動化裝配bean35
2.2.1創建可被發現的bean35
2.2.2為組件掃描的bean命名38
2.2.3設置組件掃描的基礎包39
2.2.4通過為bean添加注解實現自動裝配40
2.2.5驗證自動裝配42
2.3通過Java代碼裝配
bean44
2.3.1創建配置類44
2.3.2聲明簡單的bean45
2.3.3借助JavaConfig實現注入46
2.4通過XML裝配bean48
2.4.1創建XML配置規范48
2.4.2聲明一個簡單的
49
2.4.3借助構造器注入初始化bean50
2.4.4設置屬性56
2.5導入和混合配置61
2.5.1在JavaConfig中引用XML配置61
2.5.2在XML配置中引用JavaConfig63
2.6小結65
第3章高級裝配67
3.1環境與profile67
3.1.1配置profile bean69
3.1.2激活profile73
3.2條件化的bean75
3.3處理自動裝配的歧義性78
3.3.1標示的bean79
3.3.2限定自動裝配的bean80
3.4bean的作用域84
3.4.1使用會話和請求作用域86
3.4.2在XML中聲明作用域88
3.5運行時值注入88
3.5.1注入外部的值89
3.5.2使用Spring表達式語言進行裝配93
3.6小結99
第4章面向切面的Spring101
4.1什么是面向切面編程?102
4.1.1定義AOP術語103
4.1.2Spring對AOP的支持105
4.2通過切點來選擇連接點107
4.2.1編寫切點108
4.2.2在切點中選擇bean109
4.3使用注解創建切面109
4.3.1定義切面110
4.3.2創建環繞通知114
4.3.3處理通知中的參數115
4.3.4通過注解引入新功能118
4.4在XML中聲明切面120
4.4.1聲明前置和后置通知122
4.4.2聲明環繞通知124
4.4.3為通知傳遞參數125
4.4.4通過切面引入新的功能127
4.5注入AspectJ切面128
4.5小結131
第2部分Web中的Spring
第5章構建Spring Web應用程序135
5.1Spring MVC起步136
5.1.1跟蹤Spring MVC的請求136
5.1.2搭建Spring MVC138
5.1.3Spittr應用簡介142
5.2編寫基本的控制器143
5.2.1測試控制器145
5.2.2定義類級別的請求處理146
5.2.3傳遞模型數據到視圖中147
5.3接受請求的輸入153
5.3.1處理查詢參數153
5.3.2通過路徑參數接受輸入155
5.4處理表單157
5.4.1編寫處理表單的控制器160
5.4.2校驗表單163
5.5小結166
第6章渲染Web視圖167
6.1理解視圖解析167
6.2創建JSP視圖170
6.2.1配置適用于JSP的視圖解析器170
6.2.2使用Spring的JSP庫172
6.3使用Apache Tiles視圖定義布局184
6.3.1配置Tiles視圖解析器185
6.4使用Thymeleaf190
6.4.1配置Thymeleaf視圖解析器190
6.4.2定義Thymeleaf模板192
6.5小結196
第7章Spring MVC的高級技術197
7.1Spring MVC配置的替代方案198
7.1.1自定義DispatcherServlet配置198
7.1.2添加其他的Servlet和Filter199
7.1.3在web.xml中聲明DispatcherServlet201
7.2處理multipart形式的數據204
7.2.1配置multipart解析器205
7.2.2處理multipart請求208
7.3處理異常212
7.3.1將異常映射為HTTP狀態碼213
7.3.2編寫異常處理的方法214
7.4為控制器添加通知216
7.5跨重定向請求傳遞數據217
7.5.1通過URL模板進行重定向218
7.5.2使用flash屬性219
7.6小結221
第8章使用Spring WebFlow223
8.1在Spring中配置WebFlow224
8.1.1裝配流程執行器224
8.1.2配置流程注冊表224
8.1.3處理流程請求225
8.2流程的組件226
8.2.1狀態226
8.2.2轉移230
8.2.3流程數據231
8.3組合起來:披薩流程232
8.3.1定義基本流程233
8.3.2收集顧客信息236
8.3.2構建訂單242
8.3.2支付244
8.4保護Web流程246
8.5小結246
第9章保護Web應用249
9.1Spring Security簡介250
9.1.1理解Spring Security的模塊250
9.1.2過濾Web請求251
9.1.3編寫簡單的安全性配置252
9.2選擇查詢用戶詳細信息的服務255
9.2.1使用基于內存的用戶存儲255
9.2.2基于數據庫表進行認證257
9.2.3基于LDAP進行認證259
9.2.4配置自定義的用戶服務263
9.3攔截請求265
9.3.1使用Spring表達式進行安全保護267
9.3.2強制通道的安全性269
9.3.3防止跨站請求偽造270
9.4認證用戶271
9.4.1添加自定義的登錄頁272
9.4.2啟用HTTP Basic認證274
9.4.3啟用Remember-me功能274
9.4.4退出275
9.5保護視圖276
9.5.1使用Spring Security的JSP標簽庫276
9.5.2使用Thymeleaf的SpringSecurity方言280
9.6小結281
第3部分后端中的Spring
第10章通過Spring和JDBC征服數據庫285
10.1Spring的數據訪問哲學286
10.1.1了解Spring的數據訪問異常體系287
10.1.2數據訪問模板化289
10.2配置數據源291
10.2.1使用JNDI數據源292
10.2.2使用數據源連接池292
10.2.3基于JDBC驅動的數據源294
10.2.4使用嵌入式的數據源295
10.2.5使用profile選擇數據源296
10.3在Spring中使用
JDBC298
10.3.1應對失控的JDBC代碼299
10.3.2使用JDBC模板302
10.4小結307
第11章使用對象-關系映射持久化數據309
11.1在Spring中集成Hibernate310
11.1.1聲明Hibernate的Session工廠311
11.1.2構建不依賴于Spring的Hibernate代碼313
11.2Spring與Java持久化API315
11.2.1配置實體管理器工廠315
11.2.2編寫基于JPA的Repository320
11.3借助Spring Data實現自動化的JPARepository322
11.3.1定義查詢方法325
11.3.2聲明自定義查詢328
11.3.3混合自定義的功能329
11.4小結330
第12章使用NoSQL數據庫333
12.1使用MongoDB持久化文檔數據334
12.1.1啟用MongoDB335
12.1.2為模型添加注解,實現MongoDB持久化338
12.1.3使用MongoTemplate訪問MongoDB341
12.1.4編寫MongoDBRepository342
12.2使用Neo4j操作圖數據347
12.2.1配置Spring DataNeo4j347
12.2.2使用注解標注圖實體350
12.2.3使用Neo4jTemplate353
12.2.4創建自動化的Neo4jRepository354
12.3使用Redis操作key-value數據359
12.3.1連接到Redis359
12.3.2使用RedisTemplate360
12.3.3使用key和value的序列化器364
12.4小結365
第13章緩存數據367
13.1啟用對緩存的支持368
13.1.1配置緩存管理器369
13.2為方法添加注解以支持緩存373
13.2.1填充緩存374
13.2.2移除緩存條目378
13.3使用XML聲明緩存379
13.4小結383
第14章保護方法應用385
14.1使用注解保護方法386
14.1.1使用@Secured注解限制方法調用386
14.1.2在Spring Security中使用
JSR-250的@RolesAllowed注解387
14.2使用表達式實現方法級別的安全性388
14.2.1表述方法訪問規則389
14.2.2過濾方法的輸入和輸出391
14.3小結395
第4部分Spring集成
第15章使用遠程服務399
15.1Spring遠程調用概覽400
15.2使用RMI402
15.2.1導出RMI服務403
15.2.2裝配RMI服務405
15.3使用Hessian和Burlap遠程服務407
15.3.1使用Hessian和Burlap導出bean的功能408
15.3.2訪問Hessian/Burlap服務411
15.4使用Spring的HttpInvoker413
15.4.1將bean導出為HTTP服務413
15.4.2通過HTTP訪問服務414
15.5和使用Web服務416
15.5.1創建基于Spring的JAX-WS端點416
15.5.2在客戶端JAX-WS服務419
15.6小結421
第16章使用Spring MVC創建REST API423
16.1了解REST424
16.1.1REST的基礎知識424
16.1.2Spring是如何支持REST的425
16.2創建及時個REST端點426
16.2.1協商資源表述428
16.2.2使用HTTP信息轉換器433
16.3提供資源之外的其他內容438
16.3.1發送錯誤信息到客戶端438
16.3.2在響應中設置頭部信息443
16.4編寫REST客戶端445
16.4.1了解RestTemplate的操作446
16.4.2GET資源447
16.4.3檢索資源448
16.4.4抽取響應的元數據449
16.4.5PUT資源450
16.4.6DELETE資源451
16.4.7POST資源數據452
16.4.8在POST請求中獲取響應對象452
16.4.9在POST請求后獲取資源位置453
16.4.10交換資源454
16.5小結456
第17章Spring消息457
17.1異步消息簡介458
17.1.1發送消息459
17.1.2評估異步消息的優點461
17.2使用JMS發送消息463
17.2.1在Spring中搭建消息463
17.2.2使用Spring的JMS模板465
17.2.3創建消息驅動的POJO474
17.2.4使用基于消息的RPC477
17.3使用AMQP實現消息功能479
17.3.1AMQP簡介480
17.3.2配置Spring支持AMQP消息481
17.3.3使用RabbitTemplate發送消息484
17.3.4接收AMQP消息486
17.4小結489
第18章使用WebSocket和STOMP實現消息功能491
18.1使用Spring的低層級WebSocketAPI492
18.2應對不支持WebSocket的場景497
18.3使用STOMP消息500
18.3.1啟用STOMP消息功能501
18.3.2處理來自客戶端的STOMP消息504
18.3.3發送消息到客戶端507
18.4為目標用戶發送消息511
18.4.1在控制器中處理用戶的消息512
18.4.2為指定用戶發送消息514
18.5處理消息異常515
18.6小結516
第19章使用Spring發送Email517
19.1配置Spring發送郵件518
19.1.1配置郵件發送器518
19.1.2裝配和使用郵件發送器520
19.2構建豐富內容的Email消息521
19.2.1添加附件521
19.2.2發送富文本內容的Email522
19.3使用模板生成Email524
19.3.1使用Velocity構建Email消息524
19.3.2使用Thymeleaf構建Email消息526
19.4小結528
第20章使用JMX管理SpringBean529
20.1將Spring bean導出為MBean530
20.1.1通過名稱暴露方法533
20.1.2使用接口定義MBean的操作和屬性535
20.1.3使用注解驅動的MBean536
20.1.4處理MBean沖突538
20.2遠程MBean539
20.2.1暴露遠程MBean539
20.2.2訪問遠程MBean540
20.2.3MBean542
20.3處理通知543
20.3.1監聽通知544
20.4小結545
第21章借助Spring Boot簡化Spring開發547
21.1Spring Boot簡介548
21.1.1添加Starter依賴548
21.1.2自動配置552
21.1.3Spring Boot CLI552
21.1.4Actuator553
21.2使用Spring Boot構建應用553
21.2.1處理請求556
21.2.2創建視圖558
21.2.3添加靜態內容560
21.2.4持久化數據561
21.2.5嘗試運行563
21.3組合使用Groovy與SpringBootCLI566
21.3.1編寫Groovy控制器566
21.3.2使用Groovy Repository實現數據持久化569
21.3.3運行Spring Boot CLI570
21.4通過Actuator獲取了解應用內部狀況571
21.5小結574
剛好碰到促銷價格都是先漲后打折的,剛好沒滿足活動,所以多花錢買了這本書
很不錯,看了很久電子版書才來買的,內容專業權威
這個物有所值,大家推薦的神書,膜拜了。正在研究中,好多東西還是耐人尋味,值得深看
講的很全面,spring整個框架也講的很清楚,嗯,蠻推薦這本書的。
書拿到手,塑料紙包裝未拆,紙張挺好,應該是正版啦。點贊!
湊單買的,一搞活動那些想買的書就下架沒貨。無奈買的這本不知道對我有沒幫助~
包裝精美,內容詳實,是spring技術的經典之作
拜托快遞上心吧,送的倒是快,但是有折痕好難受
正版,正版。質量不錯,在spring的世界里可能也就本書了,翻譯的也不錯。主要在于講解配置。
想要學好用好Spring框架,推薦看這本書!經典!
這本書整體還是不錯的,紙質挺好的,就是這種字體的字很容易讓人看睡著,字太小了點。
本書是正版圖書,看了之后很滿意,就是書稍微有點折痕
紙張質量挺好,內容很新,緊跟spring4新功能,對要了解spring的同學是本很好的選擇
書本質量比預期的好,希望內容也可以受益匪淺
通過該書可以懂得spring的方方面面。是一本好書
紙質很好 ,詳看一下目錄 想要了解的點在此書中都有介紹出來。
書剛剛到 看了目錄 感覺應該不錯吧 先給好評 然后有些時間看看
經典之作新增的內容很強大買了第三版后又入手了第四版。關鍵是湖北匯文快遞太稀爛了。7天從武漢到仙桃。
內容通俗易懂,適合spring初學者,對我幫助很大
本身很流行 看不懂英文這能看翻譯版了。 當當的紙張還是可以的。 買書一直**當
剛到手,粗略看了看,感覺挺不錯,對spring的學習有幫助
本身很流行 看不懂英文這能看翻譯版了。 當當的紙張還是可以的,某東紙質不行,還是當當的書紙質好
快遞很快,紙質摸起來也不錯,不過我更喜歡第三版那種較軟的紙質和字體,看起來舒服很多,這本的字體不太喜歡
上次活動就想買這本書了,可惜沒搶到,這次終于買到了,想更更深入的學習一下,看過這本書英文版的電子版,里面有我需要的知識,因此又買了一本中文版的實體書,配合著看
in action 系列的書就是讀了特別容易上手。spring泡社區學習不夠系統,讀這本書就比較清楚了。主要還是側著應用,讀了一部分了,還是很推薦的,初學者拿來入門也是很好的。
這本書確實寫的不錯,書中舉的例子也都比較有趣,騎士、奧特瑪、小怪獸等等。每個核心的Spring技術點都解釋得很容易懂,也能看出spring為何做出這樣的設計。
非常好的一本書,看了兩天,使我對Spring有了更清晰的認識,力薦!!!
看了一半后在做評論,物流速度挺快,正版行貨,只是運輸過程有點印記,但是想必大家和你關注內容,spring 4必之3更加關注的是使用注解做開發,對于初學者還是很有用,但是不排除對老用戶也很有幫助。,全書分為四大部分我目前只看到第三部分不做過多評價。
從來沒好好學習過 Spring,看了部分這本書的英文還不錯