前言
后端程序员,尤其是Java后端程序员,离得开Spring框架吗?毫无疑问,答案是否定的。Spring 早已成为 Java 后端开发事实上的行业标准,无数的公司选择 Spring 作为基础的开发框架。
大部分Java 后端程序员在日常工作中也会接触到 Spring ,早些年框架还没有那么丰富,后面出现了 Spring Boot 和 Spring Cloud,它们可以帮助工程师更好地基于 Spring 及各种基础设施来快速搭建系统,可以说,它们的诞生又一次解放了大家的生产力。
Spring技术内幕,深入解析spring架构和设计原理
深入解析Spring架构与设计原理,第1章Spring的 设计理念和整体架构11
1.1Spring的各个子项目12
1.2 Spring的设计目标/5
1.3 Spring的整体架构 / 7
1.4 Spring的应用场景 1 10
1.5 小结1 12
第部分Spring核心实现篇
第2章Spring Framework的核心: IoC容器的实现1 16
2.1 Spring IoC容器概述1 17
2.1.1 IoC容 器和依赖反转模式1 17
2.1.2 Spring IoC的应用场景/ 18
2.2IoC容器系列的设计与实现: BeanFactory和ApplicationContext/ 19
2.2.1 Spring的IoC容器 系列119
2.2.2 Spring IoC容器的设计/21
2.3 IC容 器的初始化过程128
2.3.1 BeanDefinition的Resource定位 1 29
2.3.2 BeanDefinition的 载入和解析/ 372.3.3 BeanDefinition在IoC容器 中的注册152
2.4 loC客器 的依赖注人154
25容 器其他相关特性的设计与实现175
2.5.1 plicaioCotexton Bean的初始化及销毁175
2.5.2 lazyinit属 性和物实倒化181
2.5.3 FactoryBean的实现 182
2.5.4 BearnPostProcessor的实现185
2.5.5 autowring (自动依赖装配)的实现188
2.5.6 Bean的依赖检查 190
2.5.7 Bean对IoC客器 的感知191
2.6小姑192
第3章Spring AOP的实现194
3.1 Spring AOP概述195
3.1.1 AOP概念回顾 195
3.1.2 Advice道知 198
3.13 Pointcut切点 1 102
3.1.4 Advisor通知器/ 105
3.2 Spring AOP的设计与实现1106
3.2.1 JVM的 动态代理特性1 106
322 Spring AOP的设计分析1108
32.3
Spring AOP的应用场量1108
3.3建立AopProxy代理对象 1109
3.3.1设计原理1 109
33.2配 LProxyFectoryBean/ 110
333 ProaxyFactoryBean生 成AopProxy代理对象111
3.3.4 JDK生 成AopProxy汽理对象/ 116
3.3.5 CGLIB生 成AopProxy代理对象1117
3.4 Spring AOP拦截器调用的实现1119
3.4.1设计原理/119
3.4.2 JdkDynamicAopProxy的invoke拦截 1120
3.43 Cglib2AopPraxy的intercept社截/ 121
3.4.4目标对象方法的调用 /122
3.4.5 AOP拦截器链的调用 1/123
3.4.6配里通如器/ 1243.4.7 Advice通知的实现/ 129 .
3.4.8 ProxyFactory实 现AOP 1136
3.5 Spring AOP的高级特性/ 138
3.6小结1 140
第二部分Spring组 件实现篇
第4章Spring MVC与Web环境1 145
4.1 Spring MVC概述/ 146
4.2 Web环境 中的Spring MVC 1 148
4.3.上 下文在Web容器中的启动1 149
4.3.1 IoC容器启动的基本过程1 149
4.3.2
Web容器中的.上下文设计1 151
4.3.3 ContextLoader的 设计与实现/ 154
4.4 Spring MVC的设计与实现/ 158
4.4.1 Spring MVC的应用场景1158
4.4.2 Spring MVC设计概览1 158
4.4.3 DispatcherServlet的启 动和初始化1 160
4.4.4 MVC处理HTTP分发请求1 166
4.5 Spring MVC视图的呈现1178
4.5.1 DispatcherServlet视團 呈现的设计/ 178
4.5.2 JSP视團 的实现/ 182
4.5.3 ExceIView的实现/ 185
4.5.4 PDF视圉 的实现/ 187
4.6小结1 189
第5章数据库操作组件的实现 1191
5.1 Spring JDBC的设计与实现/ 192,
5.1.1应用场景1 192
5.1.2设计概要1 192
5.2 Spring JDBC中模板类的设计与实现/ 193
5.2.1设计原理1 193
5.2.2 JdbcTemplate的基 本使用1 193
5.2.3 JdbcTemplate 的execute实现1194
5.2.4 JdbcTemplate 的query实现/ 196
5.2.5使用数据库Connection/ 1975.3 Spring JDBC中RDBMS操作对象的实现/ 199
5.3.1 SqlQuery的实现 200
5.3.2
SqlUpdate的实现204
5.3.3 SqlFunction 206
5.4 Spring ORM的设计与实现208
5.4.1
应用场景 208
5.4.2设计概要 / 208
5.5 Spring驱 动Hibernate的设计与实现 209
5.5.1设计原理 210
5.5.2 Hibernate 的SessionFactory 210
5.5.3 HibernateTemplate的 实现/215
5.5.4
Session的管理 219
5.6 Spring驱 动iBatis的设计与实现222
5.6.1设计原理 222
5.6.2创建SqlMapClient 222
5.6.3
SqlMapClientTemplate的实现 224
5.7小结 227
第6章Spring事 务处理的实现228
6.1 Spring与事务 处理 229
6.2 Spring事 务处理的设计概览 229
6.3 Spring事务 处理的应用场景230
6.4 Spring声 明式事务处理 231
6.4.1设计原理与基本过程 231
6.4.2实现分析 231
6.5 Spring事 务处理的设计与实现/ 241
6.5.1 Spring事 务处理的编程式使用241
6.5.2事 务的创建/242
6.5.3事务的挂起249
6.5.4事 务的提交251
6.5.5事务的回滚253
6.6 Spring事 务处理器的设计与实现1255
6.6.1 Spring事 务处理的应用场景255
6.6.2
DataSourceTransactionManager的 实现 2566.6.3
HibernateTransactionManager的 实现2596.7小结1265第7章Spring远 端调用的实现 267
7.1 Spring远端 调用的应用场景268
7.2 Spring远 端调用的设计概览 268
7.3 Spring远 端调用的实现271
7.3.1Spring HTTP调用器的实现271
7.3.2 Spring Hession/Burlap的 实现原理282
7.3.3 Spring RMI的实现/ 295
7.4小结 302
第三部分Spring应用实现篇
第8章安全 框架ACEGI的设计与实现 307
8.1Spring ACEGI安全框架概述 308
8.1.1概述 / 308
8.1.2设计原理与基本实现过程 308
8.1.3 ACEGI的Bean配置 309
8.2配置Spring ACEGI/ 310
8.3
ACEGI的Web过滤器实现/313
8.4 ACEGI验 证器的实现315
8.4.1 AuthenticationManager的 authenticate 315
8.4.2 DaoAuthenticationProvider的实现 318
8.4.3读取数据库用户 信息/320
8.4.4完成 用户信息的对比验证/323
8.5 ACEGI授权 器的实现324
8.5.1与Web环境的 接口FilterSecurityInterceptor 324
8.5.2授权器的 实现/ 327
8.5.3投票器的 实现 329
8.6小结330
第9章Spring DM模块的设计与实现/ 332
9.1 Spring DM模块的应用场最333
9.2 Spring DM的应用过程334
9.3 Spring DM设计与实现 338
9.4小结348:
第10章Spring Flex的设计与实现350
10.1 Spring Flex模块的应用场景35110.2 Spring Flex的应用过程353
10.3 Spring Flex的设计与实现355
10.4小结 362
SpringCloud微服务实战,在实战种提升自己
第1章Spring Cloud概述第2章搭建开发环境第3章微服务发布与调用第4章负载均衡第5章REST客户端Feign第6章Spring Cloud的保护机制第7章微服务集群网关.第8章微服务与消息驱动..第9章集群配置中心.第10章微服务跟踪.第11章微服务数据库实战第12章案例实战.
Springboot深入实践,分析微服务中配置管理、发现服务和负载均衡服务的实现原理和部分核心源代码
第1章为SpringBoot入门,介绍开发环境的搭建和开发工具的选择及安装配置,并使用一个非常简单的实例,说明如何轻易地使用Spring Boot开发框架。
第2章使用SpringBoot框架演示了以不同于以往的方式,以及如何轻易地使用数据库,并实际演示使用MySQL、MongoDB、Redis 和Neo4j等数据库。
第3章使用Thymeleaf模板结合一些流行的JavaScript插件,介绍了使用SpringBoot进行界面设计的方法和技巧。
第4章对使用SpringBoot提高传统关系型数据库的性能方面做了一些探讨和尝试,并扩展了使用JPA资源库的功能。
第5章介绍了如何使用Spring Boot结合Spring Security进行安全设计,包括登录认证和角色管理、权限管理等内容。
第6章介绍如何使用Spring Security结合OAuth2进行sso ( Single Sign On)的设计,并演示如何在分布式应用系统中使用认证授权和安全管理的功能。
第7章介绍如何使用SpringBoot框架结合分布式文件系统FastDFS,并使用定制方式和富文本编辑器的方式演示了使用图片上传和建立本地图片库的方法。
第8章介绍云应用开发,包括配置管理、发现服务和监控服务的使用,以及如何使用动态路由和断路器的功能,创建高可用的微服务应用。
第9章介绍如何使用Docker引擎和docker-compose工具来发布应用和管理服务,以及如何构建一个高性能的服 务平台和怎样使用Docker实施负载均衡。
第10章分析了SpringBoot的应用程序加载和自动配置原理,以及如何以改造加载配置的方式来提高应用的性能。
第11章分析了Spring Boot使用数据库的实现原理,并演示怎样利用一些技术手段提高和扩展访问数据库的功能。
第12章简要分析了微服务中配置管理、发现服务和负载均衡服务的实现原理和部分核心源代码,并使用-一个实例说明配置管理中分布式消息的实现机制和原理。
Sping源码深度解析
第1章Spring整体架构和环境;第2章容器的基本实现;第3章默认标签的解析;第4章自定义标签的解析;
第5章bean的加载;
第6章容器的功能扩展;
第7章AOP;
第8章数据库连接JDBC;
第9章整合MyBatis;
第10章事务.
第11章SpringMVC
第12章远程服务;
第13章Spring 消息;