Spring揭秘(圖靈出品)

2021-04-27 15:14 更新

Spring揭秘(圖靈出品)

王福強 著

  • 出版社: 人民郵電出版社
  • ISBN:9787115209429
  • 版次:1
  • 商品編碼:10063640
  • 品牌:iTuring
  • 包裝:平裝
  • 開本:16開
  • 出版時間:2009-09-01
  • 用紙:膠版紙
  • 頁數(shù):666
  • 字數(shù):1197000
  • 正文語種:中文


點此購買


內(nèi)容簡介

  《Spring揭秘》以幽默生動的語言、輔以有趣的故事和典故,循循善誘地闡述了Spring框架的方方面面。針對Spring框架的主要功能以及開發(fā)者們遇到最多的問題,首先介紹問題的相關(guān)背景,然后逐條進行深度剖析,最后通過分析來引入Spring框架可以提供的最佳解決方案。雖言Spring,卻不局限于Spring,《Spring揭秘》向讀者展現(xiàn)了更寬廣的軟件開發(fā)的世界!
  《Spring揭秘》非常適合Java開發(fā)人員閱讀和參考。


作者簡介

  王福強,資深軟件開發(fā)專家和系統(tǒng)架構(gòu)師,原任花旗軟件(大連)資深軟件工程師,現(xiàn)任阿里巴巴B2B平臺技術(shù)部架構(gòu)師。多年來一直專注于Java平臺的技術(shù)發(fā)展,以及一線產(chǎn)品的技術(shù)選型和框架設(shè)計。擁有多年金融行業(yè)軟件開發(fā)經(jīng)歷,負責(zé)過信貸、外匯交易、固定收益等金融系統(tǒng)的分析、設(shè)計、開發(fā)、維護、集成、擴展和性能調(diào)優(yōu)等,對各種大型金融機構(gòu)體系的技術(shù)架構(gòu)與實現(xiàn)有豐富經(jīng)驗和獨到的見解。作為國內(nèi)最早使用Spring的開發(fā)者之一,他對spring的使用、設(shè)計和實現(xiàn)原理有著非常深入的了解。在本書中,他與讀者分享了多年的Spring開發(fā)經(jīng)驗和探索企業(yè)級解決方案的心得。


精彩書評

  “本書非常棒!內(nèi)容全面透徹,很有價值!”
  ——(Rod Johnson,Spring之父)
  “生動的語言和嚴謹?shù)慕Y(jié)構(gòu),構(gòu)成了本書最大的特色。……大量生活化的比喻將難以理解的技術(shù)概念闡述得如此簡單、清晰和易于理解。這不僅會幫助初學(xué)者快速掌握spring現(xiàn)代程序設(shè)計,而且可以幫助有經(jīng)驗的程序員深入Spring的構(gòu)件精髓?!?br>  ——Yanger,Spring中文論壇刨始人,SpringTag.com運營總監(jiān)
  “可以翻成英文版出口的好書,每個使用spring的團隊都應(yīng)該自備兩本,一本堂皇地培訓(xùn)新人,一本紿老手們偷偷地溫習(xí)?!?br>  ——江南自衣(www.springside.org.cn)
  “整本書文筆流暢,更不乏幽默與趣味,內(nèi)容詳略得當(dāng)、取舍合理。另外,書中的內(nèi)容極為全面,如果以后要把書當(dāng)作參考手冊的話,這些內(nèi)容可以為您提供重要的信息?!?br>  ——DoJo中國,著名開源社區(qū)
  “本書語言生動幽默,內(nèi)容全面而精辟,在闡釋spring框架提供的各種功能和特性的同時,介紹了大量在spring實現(xiàn)中涉及的設(shè)計模式和最佳實踐,很值得開發(fā)人員借鑒和參考。
  ——中文JAvA技術(shù)網(wǎng)


目錄

第一部分 掀起Spring的蓋頭來

第1章 Spring框架的由來 2
1.1 Spring之崛起 2
1.2 Spring框架概述 3
1.3 Spring大觀園 5
1.4 小結(jié) 8

第二部分 Spring的IoC容器

第2章 IoC的基本概念 10
2.1 我們的理念是:讓別人為你服務(wù) 10
2.2 手語,呼喊,還是心有靈犀 13
2.2.1 構(gòu)造方法注入 13
2.2.2 setter方法注入 13
2.2.3 接口注入 14
2.2.4 三種注入方式的比較 15
2.3 IoC的附加值 15
2.4 小結(jié) 17

第3章 掌管大局的IoC Service Provider 18
3.1 IoC Service Provider的職責(zé) 18
3.2 運籌帷幄的秘密——IoC Service Provider如何管理對象間的依賴關(guān)系 19
3.2.1 直接編碼方式 19
3.2.2 配置文件方式 20
3.2.3 元數(shù)據(jù)方式 21
3.3 小結(jié) 21

第4章 Spring的IoC容器之BeanFactory 22
4.1 擁有BeanFactory之后的生活 24
4.2 BeanFactory的對象注冊與依賴綁定方式 26
4.2.1 直接編碼方式 26
4.2.2 外部配置文件方式 28
4.2.3 注解方式 31
4.3 BeanFactory的XML之旅 33
4.3.1 beans和bean 33
4.3.2 孤孤單單一個人 35
4.3.3 Help Me, Help You 36
4.3.4 繼承?我也會! 50
4.3.5 bean的scope 51
4.3.6 工廠方法與FactoryBean 56
4.3.7 偷梁換柱之術(shù) 61
4.4 容器背后的秘密 66
4.4.1 “戰(zhàn)略性觀望” 66
4.4.2 插手“容器的啟動” 67
4.4.3 了解bean的一生 74
4.5 小結(jié) 85

第5章 Spring IoC容器ApplicationContext 86
5.1 統(tǒng)一資源加載策略 86
5.1.1 Spring中的Resource 87
5.1.2 ResourceLoader,“更廣義的URL” 88
5.1.3 ApplicationContext與ResourceLoader 91
5.2 國際化信息支持(I18n MessageSource) 97
5.2.1 Java SE提供的國際化支持 97
5.2.2 MessageSource與ApplicationContext 98
5.3 容器內(nèi)部事件發(fā)布 102
5.3.1 自定義事件發(fā)布 102
5.3.2 Spring的容器內(nèi)事件發(fā)布類結(jié)構(gòu)分析 105
5.3.3 Spring容器內(nèi)事件發(fā)布的應(yīng)用 107
5.4 多配置模塊加載的簡化 109
5.5 小結(jié) 110

第6章 Spring IoC容器之?dāng)U展篇 111
6.1 Spring 2.5的基于注解的依賴注入 111
6.1.1 注解版的自動綁定(@Autowired) 111
6.1.2 @Autowired之外的選擇——使用JSR250標注依賴注入關(guān)系 115
6.1.3 將革命進行得更徹底一些(class-path-scanning功能介紹) 116
6.2 Spring 3.0展望 119
6.3 小結(jié) 120

第三部分 Spring AOP框架

第7章 一起來看AOP 122
7.1 AOP的尷尬 124
7.2 AOP走向現(xiàn)實 125
7.2.1 靜態(tài)AOP時代 125
7.2.2 動態(tài)AOP時代 126
7.3 Java平臺上的AOP實現(xiàn)機制 126
7.3.1 動態(tài)代理 126
7.3.2 動態(tài)字節(jié)碼增強 126
7.3.3 Java代碼生成 127
7.3.4 自定義類加載器 127
7.3.5 AOL擴展 127
7.4 AOP國家的公民 128
7.4.1 Joinpoint 128
7.4.2 Pointcut 130
7.4.3 Advice 131
7.4.4 Aspect 133
7.4.5 織入和織入器 133
7.4.6 目標對象 133
7.5 小結(jié) 134

第8章 Spring AOP概述及其實現(xiàn)機制 135
8.1 Spring AOP概述 135
8.2 Spring AOP的實現(xiàn)機制 136
8.2.1 設(shè)計模式之代理模式 136
8.2.2 動態(tài)代理 139
8.2.3 動態(tài)字節(jié)碼生成 141
8.3 小結(jié) 142

第9章 Spring AOP一世 143
9.1 Spring AOP中的Joinpoint 143
9.2 Spring AOP中的Pointcut 144
9.2.1 常見的Pointcut 146
9.2.2 擴展Pointcut(Customize Pointcut) 151
9.2.3 IoC容器中的Pointcut 152
9.3 Spring AOP中的Advice 153
9.3.1 per-class類型的Advice 153
9.3.2 per-instance類型的Advice 159
9.4 Spring AOP中的Aspect 163
9.4.1 PointcutAdvisor家族 164
9.4.2 IntroductionAdvisor分支 167
9.4.3 Ordered的作用 168
9.5 Spring AOP的織入 170
9.5.1 如何與ProxyFactory打交道 170
9.5.2 看清ProxyFactory的本質(zhì) 175
9.5.3 容器中的織入器——ProxyFactoryBean 179
9.5.4 加快織入的自動化進程 185
9.6 TargetSource 190
9.6.1 可用的TargetSource實現(xiàn)類 191
9.6.2 自定義TargetSource 195
9.7 小結(jié) 197

第10章 Spring AOP二世 198
10.1 @AspectJ形式的Spring AOP 198
10.1.1 @AspectJ形式AOP使用之先睹為快 199
10.1.2 @AspectJ形式的Pointcut 201
10.1.3 @AspectJ形式的Advice 211
10.1.4 @AspectJ中的Aspect更多話題 220
10.2 基于Schema的AOP 223
10.2.1 基于Schema的AOP配置概覽 223
10.2.2 向基于Schema的AOP遷移 225
10.2.3 @AspectJ到“基于Schema的AOP”遷移 227
10.3 小結(jié) 235

第11章 AOP應(yīng)用案例 237
11.1 異常處理 237
11.1.1 Java異常處理 237
11.1.2 Fault Barrier 238
11.2 安全檢查 239
11.3 緩存 240
11.4 小結(jié) 240

第12章 Spring AOP之?dāng)U展篇 241
12.1 有關(guān)公開當(dāng)前調(diào)用的代理對象的探討 241
12.1.1 問題的現(xiàn)象 241
12.1.2 原因的分析 242
12.1.3 解決方案 243
12.2 小結(jié) 245

第四部分 使用Spring訪問數(shù)據(jù)

第13章 統(tǒng)一的數(shù)據(jù)訪問異常層次體系 249
13.1 DAO模式的背景 249
13.2 夢想照進現(xiàn)實 251
13.3 發(fā)現(xiàn)問題,解決問題 252
13.4 不重新發(fā)明輪子 254
13.5 小結(jié) 257

第14章 JDBC API的最佳實踐 258
14.1 基于Template的JDBC使用方式 258
14.1.1 JDBC的尷尬 258
14.1.2 JdbcTemplate的誕生 261
14.1.3 JdbcTemplate和它的兄弟們 274
14.1.4 Spring中的DataSource 296
14.1.5 JdbcDaoSupport 301
14.2 基于操作對象的JDBC使用方式 302
14.2.1 基于操作對象的查詢 303
14.2.2 基于操作對象的更新 310
14.2.3 基于操作對象的存儲過程調(diào)用 313
14.3 小結(jié) 316

第15章 Spring對各種ORM的集成 317
15.1 Spring對Hibernate的集成 318
15.1.1 舊日“冬眠”時光 318
15.1.2 “春天”里的“冬眠” 321
15.2 Spring對iBATIS的集成 329
15.2.1 iBATIS實踐之“前生”篇 329
15.2.2 iBATIS實踐之“今世”篇 331
15.3 Spring中對其他ORM方案的集成概述 337
15.3.1 Spring對JDO的集成 337
15.3.2 Spring對TopLink的集成 340
15.3.3 Spring對JPA的集成 341
15.4 小結(jié) 344

第16章 Spring數(shù)據(jù)訪問之?dāng)U展篇 345
16.1 活用模板方法模式及Callback 345
16.1.1 FTPClientTemplate 345
16.1.2 HttpClientTemplate 349
16.2 數(shù)據(jù)訪問中的多數(shù)據(jù)源 350
16.2.1 “主權(quán)獨立”的多數(shù)據(jù)源 350
16.2.2 “合縱連橫”的多數(shù)據(jù)源 352
16.2.3 結(jié)束語 354
16.3 Spring 3.0展望 356
16.4 小結(jié) 356

第五部分 事務(wù)管理

第17章 有關(guān)事務(wù)的楔子 358
17.1 認識事務(wù)本身 358
17.2 初識事務(wù)家族成員 360
17.3 小結(jié) 362

第18章 群雄逐鹿下的Java事務(wù)管理 363
18.1 Java平臺的局部事務(wù)支持 363
18.2 Java平臺的分布式事務(wù)支持 365
18.2.1 基于JTA的分布式事務(wù)管理 366
18.2.2 基于JCA的分布式事務(wù)管理 367
18.3 繼續(xù)前行之前的反思 367
18.4 小結(jié) 369

第19章 Spring事務(wù)王國的架構(gòu) 370
19.1 統(tǒng)一中原的過程 371
19.2 和平年代 376
19.2.1 TransactionDefinition 376
19.2.2 TransactionStatus 382
19.2.3 PlatformTransac-tionManager 382
19.3 小結(jié) 392

第20章 使用Spring進行事務(wù)管理 393
20.1 編程式事務(wù)管理 393
20.1.1 直接使用PlatformTran-sactionManager進行編程式事務(wù)管理 393
20.1.2 使用TransactionTemp-late進行編程式事務(wù)管理 394
20.1.3 編程創(chuàng)建基于Savepoint的嵌套事務(wù) 396
20.2 聲明式事務(wù)管理 397
20.2.1 引子 397
20.2.2 XML元數(shù)據(jù)驅(qū)動的聲明式事務(wù) 399
20.2.3 注解元數(shù)據(jù)驅(qū)動的聲明式事務(wù) 410
20.3 小結(jié) 413

第21章 Spring事務(wù)管理之?dāng)U展篇 414
21.1 理解并活用ThreadLocal 414
21.1.1 理解ThreadLocal的存在背景 414
21.1.2 理解ThreadLocal的實現(xiàn) 415
21.1.3 ThreadLocal的應(yīng)用場景 416
21.1.4 使用ThreadLocal管理多數(shù)據(jù)源切換的條件 417
21.2 談Strategy模式在開發(fā)過程中的應(yīng)用 420
21.3 Spring與JTA背后的奧秘 423
21.4 小結(jié) 427

第六部分 Spring的Web MVC框架

第22章 邁向Spring MVC的旅程 430
22.1 Servlet獨行天下的時代 430
22.2 繁盛一時的JSP時代 433
22.3 Servlet與JSP的聯(lián)盟 436
22.4 數(shù)英雄人物,還看今朝 438
22.5 小結(jié) 440

第23章 Spring MVC初體驗 441
23.1 鳥瞰Spring MVC 442
23.2 實踐出真知 446
23.2.1 Spring MVC應(yīng)用的物理結(jié)構(gòu) 447
23.2.2 按部就班地開始工作 451
23.3 小結(jié) 459

第24章 近距離接觸Spring MVC主要角色 460
24.1 忙碌的協(xié)調(diào)人HandlerMapping 460
24.1.1 可用的HandlerMapping 461
24.1.2 HandlerMapping執(zhí)行序列(Chain Of HandlerMapping) 463
24.2 我們的親密伙伴Controller 464
24.2.1 AbstractController 465
24.2.2 MultiActionController 468
24.2.3 SimpleFormController 476
24.2.4 AbstractWizard-FormController 496
24.2.5 其他可用的Controller實現(xiàn) 503
24.3 ModelAndView 505
24.3.1 ModelAndView中的視圖信息 505
24.3.2 ModelAndView中的模型數(shù)據(jù) 506
24.4 視圖定位器ViewResolver 506
24.4.1 可用的ViewResolver實現(xiàn)類 507
24.4.2 ViewResolver查找序列(Chain Of ViewResolver) 511
24.5 各司其職的View 511
24.5.1 View實現(xiàn)原理回顧 512
24.5.2 可用的View實現(xiàn)類 515
24.5.3 自定義View實現(xiàn) 521
24.6 小結(jié) 523

第25章 認識更多Spring MVC家族成員 524
25.1 文件上傳與MultipartResolver 525
25.1.1 使用MultipartResolver進行文件上傳的簡單分析 526
25.1.2 文件上傳實踐 527
25.2 Handler與HandlerAdaptor 530
25.2.1 問題的起源 530
25.2.2 深入了解Handler 531
25.2.3 近看HandlerAdaptor的奧秘 533
25.2.4 告知Handler與Handler-Adaptor的存在 535
25.3 框架內(nèi)處理流程攔截與Handler-Interceptor 536
25.3.1 可用的Handler-Interceptor實現(xiàn) 537
25.3.2 自定義實現(xiàn)Handler-Interceptor 538
25.3.3 HandlerInterceptor尋根 540
25.3.4 HandlerInterceptor之外的選擇 541
25.4 框架內(nèi)的異常處理與Handler-ExceptionResolver 544
25.5 國際化視圖與LocalResolver 548
25.5.1 可用的LocaleResolver 549
25.5.2 LocaleResolver的足跡 550
25.5.3 Locale的變更與LocaleChangeHandler 551
25.6 主題(Theme)與ThemeResolver 552
25.6.1 提供主題資源的ThemeSource 552
25.6.2 管理主題的ThemeResolver 554
25.6.3 切換主題的ThemeChange-Interceptor 555
25.7 小結(jié) 556

第26章 Spring MVC中基于注解的Controller 557
26.1 初識基于注解的Controller 557
26.2 基于注解的Controller原型分析 558
26.2.1 自定義用于基于注解的Contro-ller的HandlerMapping 558
26.2.2 自定義用于基于注解的Contro-ller的HandlerAdaptor 560
26.3 近看基于注解的Controller 563
26.3.1 聲明基于注解的Controller 563
26.3.2 請求參數(shù)到方法參數(shù)的綁定 569
26.3.3 使用@ModelAttribute訪問模型數(shù)據(jù) 572
26.3.4 通過@SessionAttribute管理Session數(shù)據(jù) 574
26.4 小結(jié) 576

第27章 Spring MVC之?dāng)U展篇 577
27.1 Spring MVC也Convention Over Configuration 577
27.1.1 Convention Over Configuration簡介 577
27.1.2 Spring MVC中的Convention Over Configuration 578
27.2 Spring 3.0展望 581
27.3 小結(jié) 582

第七部分 Spring框架對J2EE服務(wù)的集成和支持

第28章 Spring框架內(nèi)的JNDI支持 584
28.1 JNDI簡單回顧 584
28.2 Spring框架內(nèi)JNDI訪問的基石——JndiTemplate 585
28.3 JNDI對象的依賴注入——JndiObjectFactoryBean 587
28.4 小結(jié) 588

第29章 Spring框架對JMS的集成 589
29.1 說說JMS的身世 589
29.2 使用JMS API進行應(yīng)用開發(fā)的傳統(tǒng)套路 590
29.3 Spring改進后的JMS實戰(zhàn)格斗術(shù) 592
29.3.1 消息發(fā)送和同步接收 592
29.3.2 異步消息接收 601
29.3.3 JMS相關(guān)異常處理 607
29.3.4 框架內(nèi)的事務(wù)管理支持 608
29.4 小結(jié) 609

第30章 使用Spring發(fā)送E-mail 610
30.1 思甜前,先憶苦 610
30.2 Spring的E-mail抽象層分析 612
30.2.1 直接創(chuàng)建郵件消息并發(fā)送 614
30.2.2 使用MimeMessage-Preparator發(fā)送郵件 615
30.3 Spring的E-mail支持在實際開發(fā)中的應(yīng)用 616
30.4 小結(jié) 622

第31章 Spring中的任務(wù)調(diào)度和線程池支持 623
31.1 Spring與Quartz 623
31.1.1 初識Quartz 623
31.1.2 融入Spring大家庭的Quartz 626
31.2 Spring對JDK Timer的集成 631
31.2.1 JDK Timer小記 631
31.2.2 Spring集成后的JDK Timer 632
31.3 Executor的孿生兄弟TaskExecutor 634
31.3.1 可用的TaskExecutor 635
31.3.2 TaskExecutor使用實例 637
31.4 小結(jié) 639

第32章 Spring框架對J2EE服務(wù)的集成之?dāng)U展篇 640
32.1 MailMonitor的延伸 640
32.2 Spring 3.0展望 642
32.3 小結(jié) 642

第33章 Spring遠程方案 643
33.1 從“對面交談”到“千里傳聲” 643
33.2 Spring Remoting架構(gòu)分析 645
33.2.1 Spring Remoting之遠程訪問異常體系 645
33.2.2 統(tǒng)一風(fēng)格的遠程服務(wù)公開與訪問方式 646
33.3 Spring Remoting提供的遠程服務(wù)支持 648
33.3.1 基于RMI的Remoting方案 648
33.3.2 基于HTTP的輕量級Remoting方案 651
33.3.3 基于Web服務(wù)的遠程方案 655
33.3.4 基于JMS的遠程方案 658
33.4 擴展Spring Remoting 660
33.5 Spring Remoting之?dāng)U展篇 663
33.5.1 拉開JMX演出的序幕 663
33.5.2 Spring 3.0展望 664

參考文獻 665


精彩書摘

  第一部分 掀起Spring的蓋頭來
  第1章 Spring框架的由來
  1.1 Sprig之崛起
  在中世紀的歐洲,當(dāng)重裝騎兵所向披靡時,哪國的軍隊中如果沒有一支重裝騎兵真的會讓人笑話的,按照電影《大腕》里的一句話說“你都不好意思跟人打招呼”。應(yīng)該說,在當(dāng)時的歷史/軍事環(huán)境下,重裝騎兵在軍隊中確實發(fā)揮了不可或缺的作用。有時候,一次關(guān)鍵時刻的重裝騎兵沖鋒就可以奠定戰(zhàn)局的勝利。但是,時過境遷,歷史的車輪一直在向前緩緩行進,重裝騎兵頭上的光環(huán)也隨之漸趨黯淡,其缺點開始顯露無遺。
  重裝騎兵代價高昂。一名重裝騎兵的裝備花費幾乎能夠武裝一小隊輕步兵,對于財力不夠雄厚的國家來說,維持一支常備的重裝騎兵隊伍絕非易事。實際上,對于財力雄厚的大國(相當(dāng)于IT界的IBM、微軟)來說,為了減輕財政上的壓力,通常也是將這部分花銷盡量攤派給貴族。
  兵種自身限制太多。沉重的盔甲以及一整套裝備使得重裝騎兵的機動性和靈活性大打折扣,在正式投入戰(zhàn)斗之前,重裝騎兵需要很長時間的列裝和部署,對于瞬息萬變的戰(zhàn)場形勢來說,某些情況下,這等同于自殺。
  發(fā)揮作用的場景有限??v使各翼軍隊能夠掩護重裝騎兵完成部署,但如果戰(zhàn)場地形不適合重裝騎兵沖鋒,那也就無法讓他們大顯身手,前期的準備或者戰(zhàn)斗掩護就更是得不償失。


前言/序言

  在Spring作為關(guān)鍵詞在每一位技術(shù)人員簡歷里面出現(xiàn)的今天,我們可以深刻地體會到sp血g的春天真的來了。
  Spring經(jīng)過幾年的實戰(zhàn)和演變,已經(jīng)不再是一個單純的體系框架,而代表著輕量級Java開發(fā)的規(guī)范。在短短幾年的發(fā)展中,Spring給Java企業(yè)級開發(fā)帶來了無比強大的推動力,讓輕量級開發(fā)技術(shù)飛速發(fā)展。在Spring中,簡單實現(xiàn)涵蓋了一切元素,讓我們將Java這門語言的所有特性發(fā)揮得淋漓盡致。通過Spring,你不僅可以學(xué)到如何應(yīng)對每個領(lǐng)域的最佳實踐,而且可以深入理解Java企業(yè)級開發(fā)中各層面的體系結(jié)構(gòu)。因而,這簡單的背后隱藏著巨大的秘密。
  本書是揭開秘密的一把鑰匙。作者借用大量的生活化比喻將Spring各環(huán)節(jié)的技術(shù)概念清晰、簡單地展現(xiàn)在讀者面前,讓眾多技術(shù)概念不再生硬難懂。同時,本書借助對spring各項功能的解讀,將讀者帶入Java企業(yè)級開發(fā)的方方面面,不僅具體講述了如何應(yīng)對領(lǐng)域問題,而且還將背后的領(lǐng)域知識關(guān)聯(lián)起來,讓我們了解其因果關(guān)系和各種實踐的差異和不同。更值得稱贊的是書中的實例場景非常實用,可見作者的代碼精心提取于實戰(zhàn)項目,讓讀者在深入理解概念應(yīng)用的同時,可以參考實際的使用方法去解決自己項目中同類型的問題,為可行性提供了有力的證明。
  通過閱讀,相信讀者獲得的不僅僅是對Spring的深入理解,而是一種系統(tǒng)化知識的演練,一種開放構(gòu)架思維的突破,一種解決問題的思路方法。如果你也想將Spring作為關(guān)鍵詞放入你的簡歷之中,那么我相信你需要了解的不僅是如何使用Spring這樣簡單的問題,還需要知道它背后眾多的“秘密”。


點此購買


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號