• Spring IoC源码精讲
  • Spring IoC源码精讲
  • Spring IoC源码精讲
  • Spring IoC源码精讲
  • Spring IoC源码精讲
  • Spring IoC源码精讲
  • Spring IoC源码精讲
  • Spring IoC源码精讲
  • Spring IoC源码精讲
21年品牌 40万+商家 超1.5亿件商品

Spring IoC源码精讲

批量上传,套装书可能不全,下单前咨询在线客服!有特殊要求,下单前请咨询客服!

47.31 4.7折 99.8 全新

库存8件

江西南昌
认证卖家担保交易快速发货售后保障

作者王涛

出版社清华大学出版社

ISBN9787302601319

出版时间2022-09

装帧平装

开本16开

定价99.8元

货号29471578

上书时间2024-11-03

思源汇书店

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
前言

Spring框架是目前全球Java开发领域中受欢迎的开发框架之一。现在主流的Java开发领域中有大量的项目基于Spring或者对接Spring进行适配。
笔者初识Spring是在2015年的一个项目中,当时项目使用的是Spring 4.1版本,该版本的功能虽然已经比较强大,但是各类配置文件的处理会比较烦琐。随着Spring版本的升级迭代,基于SpringXML的开发方式逐渐减少,Spring注解模式开发逐渐增多,目前Spring注解模式开发已经成为主流技术。笔者作为Spring的使用人员,对于Spring中的一些实现细节十分感兴趣,并付诸实践记录了一些源码的流程,同时想把这些经验分享给更多的人,便有了本书。
Spring框架升级迭代的速度相对其他一些框架而言更快,本书中所采用的Spring框架版本是5.2.3.release,从Spring IoC层面来看,这些升级(新增spring.factories文件支持和新增spring.components文件支持)有些会影响Spring IoC相关内容,但是涉及Spring IoC相关的处理流程内容变化较少。如果有大版本的升级并改动了Spring IoC相关内容也属于正常情况,请读者耐心查看更新记录找到变化的内容再对其进行分析,从而完善对Spring IoC的相关认识。
本书的组织结构和主要内容
本书共分为22章。
第1~8章主要围绕SpringXML相关技术进行分析,将会对传统的SpringXML开发进行说明,并对SpringXML相关的各类配置解析进行分析,内容如下。
第1章对Spring框架的使用进行说明,并讲述Spring IoC中的核心类。
第2章对Spring IoC资源读取及注册相关内容进行分析,主要包含SpringXML资源文件的读取、注册和解析。
第3章对自定义标签相关内容进行分析,包含如何编写一个自定义标签和自定义标签的处理过程分析。
第4章对别名注册和BeanDefinition注册进行分析,包含别名注册环境搭建、别名注册流程和BeanDefinition注册流程的分析。
第5章对bean标签解析进行详细分析,包含bean标签解析环境搭建和解析流程分析。
第6章对Bean生命周期相关内容进行分析,包含Bean的初始化、Bean的属性设置和Bean的摧毁相关分析。
第7章对Bean的获取进行分析,包含获取Bean的环境搭建和获取Bean流程分析。
第8章对SpringXML模式下容器的生命周期进行分析,包含容器的启动和容器的关闭(暂停)分析。
第9~14章主要围绕Spring注解相关技术进行分析,将会对Spring注解相关内容进行分析,包含且不限于注解Bean加载、配置类解析和常用注解分析,内容如下。
第9章对Spring注解模式进行分析,包含Spring注解模式的环境搭建和启动流程分析。
第10章对Spring配置类解析进行分析,包含常见注解的解析。
第11章对Spring中负责配置解析的类进行分析,主要分析对象是ConfigurationClassPostProcessor。
第12章对Spring注解模式下的Import注解相关源代码进行分析,主要分析对象是DeferredImportSelectorHandler。
第13章对Spring注解模式下配置类中的Bean读取进行分析,包含测试环境搭建和读取流程分析。
第14章对Spring中常见的元数据进行说明和演示。
第15~22章主要围绕Spring IoC辅助工具进行分析,将会对Spring中常见的一些辅助工具进行分析,包含且不限于占位符解析和Spring事件模式,内容如下。
第15章对Spring中的事件处理机制进行演示和源码分析。
第16章对Spring中的占位符解析进行源码分析。
第17章对Spring中关于对象转换相关源码进行分析并简单实现了一个转换服务。
第18章对Spring中的消息进行源码分析,包含Spring消息环境搭建和处理流程分析。
第19章对Spring中资源解析器进行分析,包含资源解析器环境搭建和资源解析过程分析。

源代码

第20章对Spring中BeanName的生成策略进行分析。
第21章对Spring中的条件注解进行分析,包含条件注解的环境搭建和注解解析流程分析。
第22章对Spring中的排序注解进行分析。
本书配套源代码可以扫描右侧二维码获取。
本书面向对象
本书面向具备Java编程能力的读者和对Spring IoC具有使用经验和有兴趣的读者,通过学习本书将学到Spring的基础使用以及一些高级功能,如Spring事件和转换服务等,以及Spring IoC的基础实现逻辑。
致谢 
在此非常诚挚地感谢所有SpringFramework项目的创建者和开发者,感谢他们所做的基础性工作和对开源项目的热情,没有他们就没有本书的诞生。
由于编者水平有限,书中不当之处在所难免,欢迎广大同行和读者批评指正。
王涛
2022年6月



导语摘要

本书从Spring IoC核心技术的使用开始讲解,具备充分的Spring IoC使用说明,并且对Spring IoC核心源码进行分析。 本书分为22章,主要内容包括SpringXML模式中XML文档的验证、XML资源读取、Spring默认标签的解析、自定义标签解析、各类资源对象注册和生命周期,以及Spring注解模式中的注解元数据、注解模式的启动和注解模式下Bean的注册等。本书可以帮助读者快速掌握Spring IoC容器的基本使用及Spring IoC相关的源码逻辑。 本书的源码分析在大部分情况下遵循测试用例优先,尽可能保证源码现象可复现。 本书适合具有一定Java编程基础和对Spring框架有基本开发能力的读者。



商品简介

本书从Spring IoC核心技术的使用开始讲解,具备充分的Spring IoC使用说明,并且对Spring IoC核心源码进行分析。 本书分为22章,主要内容包括SpringXML模式中XML文档的验证、XML资源读取、Spring默认标签的解析、自定义标签解析、各类资源对象注册和生命周期,以及Spring注解模式中的注解元数据、注解模式的启动和注解模式下Bean的注册等。本书可以帮助读者快速掌握Spring IoC容器的基本使用及Spring IoC相关的源码逻辑。 本书的源码分析在大部分情况下遵循测试用例优先,尽可能保证源码现象可复现。 本书适合具有一定Java编程基础和对Spring框架有基本开发能力的读者。



作者简介

王涛,长期从事Java EE、微服务相关技术领域的开发,对Spring系列框架、MyBatis等其他开源框架都有深刻认识。



目录

第1章 Spring容器环境搭建及基本使用


1.1Spring容器环境搭建


1.2Spring基本代码编辑


1.3Spring IoC核心类


小结


第2章 IoC资源读取及注册


2.1XML文档验证


2.1.1认识 XML 验证模式


2.1.2Spring 中 XML 的验证


2.2Document对象获取


2.3BeanDefinition 注册


2.3.1doRegisterBeanDefinitions 流程


2.3.2parseBeanDefinitions 分析


2.3.3parseDefaultElement Spring原生标签的处理


2.3.4import 标签解析


2.3.5alias 标签解析


2.3.6bean标签解析


2.3.7自定义标签解析概述


小结


第3章 自定义标签


3.1创建自定义标签环境搭建


3.1.1编写 XSD 文件


3.1.2编写 NamespaceHandler 实现类


3.1.3编写 BeanDefinitionParser 实现类


3.1.4编写注册方式


3.1.5测试用例的编写


3.2自定义标签解析


3.2.1NamesapceHandler和 BeanDefinitionParser 之间的关系


3.2.2获取命名空间地址


3.2.3NamespaceHandler对象获取


3.2.4getHandlerMappings获取命名空间的映射关系


3.2.5NamespaceHandler的获取


3.2.6NamespaceHandler的 init 方法


3.2.7NamespaceHandler缓存的刷新


3.2.8解析标签BeanDefinitionParser对象准备


3.2.9解析标签parse方法调用


小结


 


 


第4章 别名注册和BeanDefinition注册


4.1别名注册测试环境搭建


4.2别名注册接口


4.3SimpleAliasRegistry中注册别名的实现


4.4别名换算真名


4.5BeanDefinition注册


4.6DefaultListableBeanFactory中存储 BeanDefinition 的容器


4.7DefaultListableBeanFactory中的注册细节


4.7.1BeanDefinition的验证


4.7.2容器中存在 BeanName 对应的 BeanDefinition 的处理


4.7.3容器中不存在 BeanName 对应的 BeanDefinition 的处理


4.7.4BeanDefinition的刷新处理


4.8BeanDefinition的获取


小结


第5章 bean 标签解析


5.1创建 bean 标签解析环境


5.1.1编写 SpringXML 配置文件


5.1.2编写beannode对应的测试用例


5.2parseBeanDefinitionElement方法处理


5.2.1parseBeanDefinitionElement 部分处理


5.2.2parseBeanDefinitionElement 第二部分处理


5.2.3parseBeanDefinitionElement 第三部分处理


5.3BeanDefinition装饰


5.4BeanDefinition 细节


5.4.1AbstractBeanDefinition属性


5.4.2RootBeanDefinition属性


5.4.3ChildBeanDefinition属性


5.4.4GenericBeanDefinition属性


5.4.5AnnotatedGenericBeanDefinition属性


小结


第6章 Bean的生命周期


6.1Java对象的生命周期


6.2浅看Bean生命周期


6.3初始化Bean


6.3.1无构造标签


6.3.2构造标签中的index模式和name模式


6.3.3Spring中的实例化策略


6.4Bean属性设置


6.4.1BeanWrapper创建


6.4.2BeanWrapper属性设置


6.4.3CachedIntrospectionResults对象介绍


6.4.4PropertyValue对象介绍


6.4.5终的数据设置


6.5Bean生命周期值Aware接口


6.6BeanPostProcessor#postProcessBeforeInitialization


6.7InitializingBean接口和自定义initmethod方法


6.8BeanPostProcessor#postProcessAfterInitialization


6.9Bean的摧毁


6.9.1DefaultSingletonBeanRegistry中的摧毁


6.9.2DefaultListableBeanFactory中的摧毁


小结


第7章 Bean的获取


7.1Bean获取方式配置


7.2Bean获取的测试环境搭建


7.3doGetBean 分析


7.3.1BeanName转换


7.3.2尝试从单例容器中获取


7.3.3从FactoryBean接口中获取实例


7.3.4尝试从父容器中获取


7.3.5BeanName标记


7.3.6非FactoryBean的单例对象创建


7.3.7非FactoryBean的原型对象创建


7.3.8既不是单例模式也不是原型模式的非FactoryBean创建


7.3.9类型转换器中获取Bean


7.4循环依赖


7.4.1Java中的循环依赖


7.4.2Spring中的循环依赖处理


小结


第8章 SpringXML模式下容器的生命周期


8.1SpringXML模式下容器的生命周期测试环境搭建


8.2XmlBeanFactory分析


8.3FileSystemXmlApplicationContext分析


8.3.1父上下文处理


8.3.2配置文件路径解析


8.3.3刷新操作


8.3.4关闭方法分析


8.4ClassPathXmlApplicationContext分析


8.5SpringXML关键对象附表


8.6初识 LifecycleProcessor


8.7LifecycleProcessor测试环境搭建


8.8start方法分析


8.9stop方法分析


8.10LifecycleGroup相关变量


8.11BeanPostProcessor 注册


8.12BeanFactoryPostProcessor方法调用


小结



第9章 Spring注解模式


9.1注解模式测试环境搭建


9.2basePackages模式启动


9.2.1scan 方法分析


9.2.2doScan方法分析


9.2.3处理单个BeanDefinition 


9.3componentClasses模式启动


小结


第10章 Spring 配置类解析


10.1parse方法分析


10.2processConfigurationClass方法分析


10.3doProcessConfigurationClass方法分析


10.4处理各类注解


10.4.1处理 @Component 注解


10.4.2处理 @PropertySource 和 @PropertySources注解


10.4.3处理 @ComponentScans 和 @ComponentScan 注解


10.4.4处理 @Import 注解


10.4.5处理 @ImportResource 注解


10.4.6处理 @Bean 注解


10.5处理父类配置


小结


第11章 ConfigurationClassPostProcessor 分析


11.1初识ConfigurationClassPostProcessor


11.2ConfigurationClassPostProcessor测试用例搭建


11.3postProcessBeanDefinitionRegistry方法分析


11.3.1容器内已存在的 Bean 进行候选分类


11.3.2候选 BeanDefinition Holder 的排序


11.3.3BeanName 生成器的创建


11.3.4初始化基本环境信息


11.3.5解析候选 Bean


11.3.6注册 Import Bean 和清理数据


11.4postProcessBeanFactory方法分析


小结


第12章 DeferredImportSelectorHandler 分析


12.1初识DeferredImportSelectorHandler


12.2DeferredImportSelectorHandler 测试环境搭建


12.3handler 方法分析


12.4DeferredImportSelectorGroupingHandler分析


12.5processImports方法分析


小结


第13章 ConfigurationClassBeanDefinitionReader 分析


13.1ConfigurationClassBeanDefinitionReader测试环境搭建


13.2ConfigurationClassBeanDefinitionReader构造函数


13.3loadBeanDefinitions 方法分析


13.4TrackedConditionEvaluator分析


13.5loadBeanDefinitionsForConfigurationClass方法分析


13.6loadBeanDefinitionsForBeanMethod方法分析


13.7registerBeanDefinitionForImportedConfigurationClass方法分析


13.8loadBeanDefinitionsFromImportedResources方法分析


13.9loadBeanDefinitionsFromRegistrars方法分析


小结


第14章 Spring元数据


14.1认识MetadataReaderFactory


14.2SimpleMetadataReaderFactory分析


14.3CachingMetadataReaderFactory分析


14.4注解元数据读取工厂总结


14.5初识 MetadataReader


14.6MetadataReader接口实现类说明


14.6.1SimpleAnnotationMetadataReadingVisitor成员变量


14.6.2SimpleAnnotationMetadata成员变量


14.6.3SimpleMethodMetadata成员变量


14.6.4MergedAnnotationsCollection成员变量


14.6.5TypeMappedAnnotation成员变量


14.6.6AnnotationTypeMappings成员变量


14.6.7ClassMetadataReadingVisitor成员变量


14.6.8AnnotationMetadataReadingVisitor成员变量


14.7类元数据接口说明


14.8StandardClassMetadata对象分析


14.9注解元数据基础认识


14.10Java 中注解数据获取


14.11ScopeMetadataResolver 分析


14.11.1ScopeMetadata 分析


14.11.2AnnotationSco

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP