按照 Spring 官方最新的说法,Spring 是现代 Java 的起源。
不可否认,Spring 无论在 Java 生态系统,还是在就业市场,是绝对的王者。面试出镜率之高,投产规模之广,无出其右。随着技术的发展,Spring 从往日的 IoC 框架,已发展成 Cloud Native 基础设施,衍生出大量 Spring 技术栈,如大家熟知的 Spring Boot、Spring Cloud 和 Spring Security 等。因此,Spring 生态体系随之变得庞大,如 Apache Dubbo 对 Spring Framework 的整合,各类中间件 Spring Boot Starter,以及多种 Spring Cloud 实现方案。
开发人员面对突如其来的变化,无论在架构选型,还是在日常开发中,总会面临各种挑战和考验。唯有系统性地掌握 Spring Framework 编程思想、设计理念,以及具体的实现方式,方可游刃有余,以免进退失据。
作为 Spring 技术生态的基石,Spring Framework 无论在设计,还是在实现上,都是一个优秀的框架,许多细节方面是非常值得我们学习的,包括:
- Java 语言特性的运用,如反射、动态代理、枚举、泛型、注解、ARM,Lambda 语法等
- 设计思想和模式的实现,如 OOP、IoC、DDD、TDD、GoF23 等
- Java API 的封装和简化,如 JDBC、Transaction、Servlet、JPA、JMS、Bean Validation 等
- JSR(Java Specification Requests)规范的适配和实现
- 第三方框架的整合和易用,如 MyBatis、Hibernate、Redis 等
当然,作为面向人民币编程社群的一份子,我们不但要关注技术面的发展,而且也要重视经济面的收益。深入掌握 Spring Framework,无疑是你进军大厂、获得更好的职业发展必须跨过的一道难关。
个人认为, Spring 在“战略”上被过分地高估,“战术”上却被低估。
这里的“战略”是指设计思想和协议规范,如 OOP、IoC、AOP,设计模式以及 JSR 各类规范等,这些方面,Spring 没有明显的突破,基本上是遵照业界的标准在执行。
而在“战术”层面,Spring 具备巨大的优势,包括 API 抽象硬核实力,模块化设计、功能的稳定性、可扩展性和可测试性。
由于不少小伙不了解“战略”,也不太熟悉“战术”,比如有的同学喜欢一上来就挑战高难度,有的则是因为着急找工作,学习起来就难免急功近利,本末倒置,比如直接深入源码,这其实是不可取的,片面地强加解释,也是不得要领的。
正如前面所述,由于 Spring 所整合的 Java 生态是完整的,也是庞大的。在时间拮据的前提下,面对浩如烟海的技术体系,需要方法来指点迷津,需要经验来弯道超车,需要实践来巩固效果 。
鉴于此本人特地收集了一份《Spring攻略(第二版)》希望能够让你步步为营,从功能特性到编程模型,从设计思想到技术规范,从理论基础到实战演练,集中精力各个击破,对 Spring Framework 有一个全方位地掌握,当然,这必然是一个痛苦而又漫长的心路历程,请拿出你跟产品斗智斗勇的勇气和毅力。
第1章:起始 Spring简介
- 实例化SpringIOC容器
- 配置SpringIOC容器中的Bean
- 调用构造程序创建Bean
- 解决构造程序zhi歧义
- 指定Bean引用
- 为集合元素指定数据类型
- 使用Spring的FactoryBean
- 使用工厂Bean和Utility Schema
- 用依赖检查属性
- 用@Required注解检查属性
- 用XML配置自动装配Bean
- 用@Autowired和@Resource
- 继承Bean配置
- 从Classpath中扫描组件
第2章:高级SpingIOC容器
- 调用静态工厂方法创建Bean
- 调用一个实例工厂方法创建
- 从静态字段中声明Bean
- 从对象属性中声明Bean
- 使用Spring表达式语言
- 设置Bean作用域
- 自定义Bean初始化和析构
- 用Java Config简化XML配置
- 使用Bean感知容器
- 加载外部资源
- 创建Bean后处理器
- 外部化Bean配置
- 解析文本消息
- 使用应用事件进行通信
- 在Spring中注册属性
- 创建自定义属性编辑器
- 使用TaskExecutor
第3章:Spring AOP 和 AspectJ 支持
- 启 Spring的 AspectJ 注解支持
- AspectJ 解声明 aspect
- 访问连接点信息
- 指 定 aspect优先级
- 重用切入点定义
- 编 写 AspectJ切入点表达式
- 在你 的Bean中引入行为
- 为你的Bean引入状态
- 用基于XM L的配置
- Spring 中的 Aspect! 载时织入aspect
- 在Spring中配置
- 将 Spring Bean注入领域对象
第4章:Spring中的脚本
- 用脚本语言实现Bea
- 将 Spring Bean 入脚本中
- 从脚本中刷新Bean
- 定义内联脚本源码
第5章:Spring Security
- 加 强 URL访问安全
- 登录到Web应 用
- 验证用户
- 做出访问控制决策
- 加强方法调用的安全
- 处理视图中的安全性
- 处理领域对象安全性
第6章:将 Spring与其他W eb框架集成
- 在一 般Web应用中访问
- 在 你 的 Servlet和过滤器中
- 将 Spring 与 Struts 1 .x 集成
- 将 Spring 与 JSF 集成
- 将 Spring 与 DWR 集成
第7章:Spring Web Flow
- 用Spring Web Flow管理简 的UI流程
- 用不到状态类型建立Web流程模型
- 加强Web流程安全
- 持续存储Web流程中的对象
- 将 Spring Web Flow 与 JSF集成
- 使 RichFaces 与 Spring Web Flow 协 作
第8章:Spring @MVC
- 用Sping MVC开发简单的Web应用
- M@RequestM^)ping 映射请求
- 用处理程序拦截器拦截请求
- 解析用户区域
- 外部化区分区域的文本信息
- 按照名称解析视图
- 视图和内容协商
- 映射异常视图
- 控制器中赋值
第9章:Spring REST
- 用Spring发布一个REST服务
- 用Spring访问REST服务
- 发布RSS和Atom信息源
- 用REST服务发布JSON
- 访问具有复杂XML响应的REST服务
第10章:Spring和Flex
- Flex入门
- 离开沙箱
- 为应用添加Spring BlazeDS支持
- 通过BlazeDS/Spring暴露服务
- 使用服务器端对象
- 使用BlazeDS和Spring消费面向消息的服务
- 将依赖注入带给你的ActionScript客户
第11章:Grails
- 获取和安装Grails
- 创建Grails应用
- Grails插件
- 在Grails环境中开发、生产和测试
- 创建应用的领域类
- 为一个应用的领域类生成
- 国际化(118n)信息属性
- 改变永久性存储系统
- 日志
- 运行单元和集成测试
- 使用自定义布局和模板
- 使用GORM查询
- 创建自定义标记
第12章:Spring Roo
- 设置Spring Roo开发环境
- 创建第一个Spring Roo项目
- 把现有项目导入SpringSource
- 更快的构建更好的应用程序
- 从项目中删除Spring Roo
第13章:Spring测试
- 用JUnit and TestNG创建测试
- 创建单元测试和集成测试
- Spring MVC控制器的单元
- 管理集成测试中的应用上
- 向集成测试注入测试夹具
- 管理集成测试中的事务
- 在集成测试中访问的数据库
- 使用Spring的常用测试
第14章:Spring Portlet MVC框架
- 用Spring Portler MVC开发一个简单的 Portlet
- 将Portlet请求映射到处理程序员
- 用简单的表单控制器处理
第15章:数据访问
- Direct JDBC的问题
- 使用JDBC模板更新
- 使用JDBC模板查询数据库
- 简化JDBC模板创建
- 在Java1.5中使用简单的JDBC模板
- 在JDBC模板中使用命名参数
- 在Spring JDBC框架中处理异常
- 直接使用ORM框架的问题
- 在Spring中配置ORM资源工厂
- 用SpringORM模板持续化对象
- 用Hibernate的上下文会话持续化对象
- 用JPA的上下文注入持续化对象
第16章:Spring中的事务管理
- 事务管理的问题
- 选择一个事务管理器实现
- 用事务管理器API编程管理事务
- 用事务模板编程管理事务
- 用事务通知声明式地管理事务
- 用@Transactionali 注解声明式地管理事务
- 设置事务传播属性
- 设置隔离事务属性
- 设置Rolback事务属性
- 设置超时和只读事务属性
- 用加载时织入管理事务
第17章:EJB、Spring Remoting和Web服务
- 通过RMI暴露和调用服务
- 用Spring创建EJB2.x组件
- 在Spring中访问遗留的EJB2.x组件
- 在Spring中创建EJB3.0
- 在Spring中访问EJB3.0
- 通过HTTP暴露和调用服务
- 选择SOAP Web服务开发
- 使用JAX-WS暴露和调用Contract-Last SOAP Web
- 定义Web服务契约
- 使用Spring-WS实现Web服务
- 使用Spring-WS调用Web服务
- 用XML编组开发Web服务
- 用注解创建服务端点
第18章:企业中的Spring
- 将Spring Bean输出为JMX MBean
- 发布和监听JMX通知
- 在Spring中访问远程JMX MBean
- 用Spring电子邮件支持发送邮件
- 用Spring的Quartz支持进行调度
- 用Spring 3.0的调度命名空间进行调度
第19章:消息
第20章:Spring Integration
第21章:Spring Batch
第22章:网格上的Spring
第23章:jBPM 和Spring
第24章:OSGi和Spring
本文档全内容共有987页,看完本文档你会学到很多Spring框架以及周边项目的知识!小编希望读者朋友们能觉得这是你以后数年中的宝贵资源!
由于篇幅限制,这里只展示了文档全目录,需要获取完整《Spring攻略(第二版)》》实战文档资料的朋友们可以点击此处来获取就可以了!,同时小编还收集了一套完整的Spring源码100集学习视频,视频配合文档同时学习,你会受益匪浅的。