阿里架构师耗时三个月整理的 Spring 实战笔记:入门到实战
前言
Spring框架是以简化Java EE应用程序的开发为目标而创建的。同样,本实战笔记是为了帮助读者更容易地使用Spring 而编写的。我的目标不是为读者详细地列出Spring API,而是希望通过现实中的实际示例代码来为JavaEE开发人员展现Spring框架。因为Spring是一个模块化的框架,所以这本书也是按照这种方式编写的。我们知道并不是所有的开发人员都有相同的需求,有些人想从头学习Spring, 而有的可能只想排出几个主题,然后按照自己的节奏来学习。所以,本Spring实战笔记既可以被刚开始学习Spring的读者当作学习指南,也可以被那些想深入了解某方面功能的读者作为参考。
内容
由于内容太多,需要完整PDF版的转发+关注后添加助手vx:bjmsb10;免费获取
本份文档分为4部分。第1部分介绍Spring框架的核心知识。第2部分在此基础上介绍如何使用Spring构建Web应用程序。第3部分告别前端,介绍如何在应用程序的后端使用Spring。第4部分描述如何使用Spring与其他的应用和服务进行集成。
第1章:将会概要地介绍Spring,包括DI和AOP的一些基本样例。 同时,读者还会了解到更大的Spring生态系统的整体情况。
![](https://static001.geekbang.org/infoq/bd/bd788c2e26052f2166150bcde1a37fb6.png)
第2章:更为详细地介绍DI,展现应用程序中的各个组件(bean)如何装配在一起。这包括基于XML装配、基于Java装配以及自动装配。
![](https://static001.geekbang.org/infoq/61/61b95b1c70b047d4ffd7c83fe0984d45.png)
![](https://static001.geekbang.org/infoq/95/9563d8b8ce7ec371545cc5e790315ccb.png)
第3章:会介绍几种高级装配技术,读者可能并不会经常用到这些技术,但是如果用到的话,本章的内容将会告诉读者如何发挥Spring容器最强大的威力。
![](https://static001.geekbang.org/infoq/77/77f1f4b3055ea690f35de546cb87cf01.png)
![](https://static001.geekbang.org/infoq/87/875eabd3679069a9d318395bb9714373.png)
第4章:介绍如何使用Spring的AOP来为对象解耦那些对其提供服务的横切性关注点。这一章也为后面各章提供基础,在后面读者将会使用AOP来提供声明式服务,如事务、安全和缓存。
![](https://static001.geekbang.org/infoq/41/41910febf69a1d9e090be78c5ced18d4.png)
![](https://static001.geekbang.org/infoq/30/30b373b3170cf375859e7c973fedd370.png)
第5章:介绍使用Spring MVC的基础知识,这是Spring中的基础Web框架。读者将会看到如何编写控制器来处理请求,并使用模型数据产生响应。当控制器的工作完成后,模型数据必须要使用一个视图来进行渲染。
![](https://static001.geekbang.org/infoq/06/06871dc155b8d040fac534437717e826.png)
第6章:探讨在Spring中可以使用的各种视图技术,包括JSP、Apache Tiles以及Thymeleaf。
![](https://static001.geekbang.org/infoq/1c/1c9a508f7c5dd1b3ccacccdac579fde7.png)
![](https://static001.geekbang.org/infoq/70/706432932df36e9d9572ddee2bbed136.png)
第7章:的内容不再是Spring MVC的基础知识了,在本章中,读者将会学习到如何自定义Spring MVC配置、处理multipart类型的文件.上传、处理在控制器中可能会出现的异常并且会通过flash 属性在请求之间传递数据。
![](https://static001.geekbang.org/infoq/45/4510e3be52d5f44a24f6fd8b968b2771.png)
![](https://static001.geekbang.org/infoq/45/451455b2fe68980b887f3abbffd8c991.png)
第8章:将会介绍Spring Web Flow,这是Spring MVC的一个扩展,能够开发会话式的Web应用程序。在本章中,读者将会学习到如何构建引导用户完成特定流程的Web应用程序。
![](https://static001.geekbang.org/infoq/02/022e401619c680874c7ee96f17742d1d.png)
第9章:读者将会学到如何使用Spring Security为自己的应用程序Web层实现安全性。
![](https://static001.geekbang.org/infoq/05/05da6342a8bc780510aa0a9f5f07db14.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第10章:首先会介绍如何使用Spring 对JDBC的抽象实现关系型数据库中的数据持久化。
![](https://static001.geekbang.org/infoq/2f/2f7d10767c36a8f8238c1bd46a85dcb3.png)
![](https://static001.geekbang.org/infoq/e5/e57f19d7e500d3d6a78756d90935e4e7.png)
第11章:从另外一个角度介绍数据持久化,也就是使用Java持久化API (JPA)存储关系型数据库中的数据。
![](https://static001.geekbang.org/infoq/16/16c7dc1d05062c209b9516c25b9d400b.png)
第12章:将会介绍如何将 Spring 与非关系型数据库结合使用,如MongoDB和Neo4j.不管数据存储在什么地方, 缓存都有助于性能的提升,这是通过只有在必要的时候才去查询数据库实现的。
![](https://static001.geekbang.org/infoq/b2/b2cf3a10950476cc9c6b5aeed193dcb6.png)
![](https://static001.geekbang.org/infoq/37/3715517afe1fdf87bd650c99f69c3eff.png)
第13章:将会为读者介绍Spring对声明式缓存的支持。
![](https://static001.geekbang.org/infoq/7b/7b59d9c4ed5940cd75f77ad36e03201e.png)
第14章:重新回到Spring Security, 将会介绍如何通过AOP将安全性应用到方法级别。
![](https://static001.geekbang.org/infoq/b5/b5542721e76d23876675107b4e84961f.png)
第15章:介绍如何将Spring应用程序与其他系统进行集成。学习如何创建与使用远程服务,包括RMI、Hessian、 Burlap 以及基于SOAP的服务。
![](https://static001.geekbang.org/infoq/f7/f78dd05d52d1c4babc8b52821331a717.png)
![](https://static001.geekbang.org/infoq/8d/8d0d69e943dcb0a4fa3d09656d40c954.png)
![](https://static001.geekbang.org/infoq/8c/8c487460018d9b28ac1489486c984c1e.png)
第16章:将会再次回到SpringMVC,我们将会看到如何创建RESTful服务,在这个过程中所使用的编程模型与之前在第5章中所描述的是一致的。
![](https://static001.geekbang.org/infoq/18/18525a3ea957e53bac147171d27dfa72.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
第17章:将会探讨Spring对异步消息的支持,本章将会包括Java消息服务(JavaMessage Service, JMS)以及高级消息队列协议(Advanced Message QueuingProtocol,AMQP)。
![](https://static001.geekbang.org/infoq/bc/bc38fe0f2018589894db86add879bab9.png)
第18章:在这一章中读者会看到如何将Spring与WebSocket和STOMP结合起来,实现服务端与客户端之间的异步通信。
![](https://static001.geekbang.org/infoq/a2/a2470874db1e97972758a64414ee6bd3.png)
第19章:将会介绍如何使用Spring发送E-mail。
![](https://static001.geekbang.org/infoq/e4/e460cb1915d03b7bbb4e3c5e87b60459.png)
![](https://static001.geekbang.org/infoq/4a/4aeba49f14f8deb7a12461677e29cf04.png)
第20章:会关注于Spring对Java管理扩展(Java Management Extensions ,JMX)功能的支持,借助这项功能可以对Spring应用程序进行监控和修改运行时配置。
![](https://static001.geekbang.org/infoq/b0/b019ac1ae24389b37057c204ceadf18a.png)
![](https://static001.geekbang.org/infoq/97/979febe87a84c1915cbc6ecaa72d8092.png)
第21章:将会看到一个全新并且会改变游戏规则的Spring使用方式,名为Spring Boot。我们将会看到Spring Boot如何将Spring应用中样板式的配置移除掉,这样就能让读者更加专注于业务功能。
![](https://static001.geekbang.org/infoq/e3/e3f7d2b2396c8b377dadf1166a7269af.jpeg?x-oss-process=image/resize,p_80/auto-orient,1)
除了这份Spring实战笔记,小编还收集了几份很棒的Spring相关文档,需要的朋友转发+关注后添加助手vx:bjmsb10;免费获取
![](https://static001.geekbang.org/infoq/59/5955ea201a7e69aa10a6ccd4cde7128c.png)
写在最后
对于Spring源码起初也是在看一些书籍,结果就是看完就忘,理解不深刻,之后发现看视频并跟着实操是最快的理解方式;这套Spring源码100集真是香到不能再香了;
书籍用来学习核心基础,用视频来实战磨练自己;
需要这份Spring100集的添加助手vx:bjmsb10;免费获取
![](https://static001.geekbang.org/infoq/55/55043194df9a6eb1c198d37040b5e4ec.png)
你是在每天学重复的知识还是不同的知识,有些知识是否最后发现学了无数次。
![](https://static001.geekbang.org/infoq/e4/e4050b1bee87308efe16de05b47461f1.png)
评论