按照 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攻略(第二版)》希望能够让你步步为营,从功能特性到编程模型,从设计思想到技术规范,从理论基础到实战演练,集中精力各个击破,对 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
看完本文档你会学到很多Spring框架以及周边项目的知识!如果觉得不错的话可以一键三连哟,希望能帮到你!