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