登入帳戶  | 訂單查詢  | 購物車/收銀台( 0 ) | 在線留言板  | 付款方式  | 聯絡我們  | 運費計算  | 幫助中心 |  加入書簽
會員登入 新註冊 | 新用戶登記
HOME新書上架暢銷書架好書推介特價區會員書架精選月讀2023年度TOP分類閱讀雜誌 香港/國際用戶
最新/最熱/最齊全的簡體書網 品種:超過100萬種書,正品正价,放心網購,悭钱省心 送貨:速遞 / EMS,時效:出貨後2-3日

2024年05月出版新書

2024年04月出版新書

2024年03月出版新書

2024年02月出版新書

2024年01月出版新書

2023年12月出版新書

2023年11月出版新書

2023年10月出版新書

2023年09月出版新書

2023年08月出版新書

2023年07月出版新書

2023年06月出版新書

2023年05月出版新書

2023年04月出版新書

『簡體書』Spring IoC源码精讲

書城自編碼: 3797776
分類: 簡體書→大陸圖書→計算機/網絡程序設計
作者: 王涛
國際書號(ISBN): 9787302601319
出版社: 清华大学出版社
出版日期: 2022-09-01

頁數/字數: /
書度/開本: 16开 釘裝: 平装

售價:NT$ 579

我要買

share:

** 我創建的書架 **
未登入.



新書推薦:
量子霸权
《 量子霸权 》

售價:NT$ 650.0
张作霖传(全新增订版)
《 张作霖传(全新增订版) 》

售價:NT$ 406.0
甲骨文丛书·当卡夫卡迎面走来……:一本回忆录
《 甲骨文丛书·当卡夫卡迎面走来……:一本回忆录 》

售價:NT$ 359.0
制造凯撒:两千年权力形象的迷宫(贝页)
《 制造凯撒:两千年权力形象的迷宫(贝页) 》

售價:NT$ 666.0
元代宫廷史
《 元代宫廷史 》

售價:NT$ 354.0
趣宋(一本科普大宋人文历史的趣味读物 沉浸式体验作为宋人的一生)
《 趣宋(一本科普大宋人文历史的趣味读物 沉浸式体验作为宋人的一生) 》

售價:NT$ 259.0
伦敦梦:移民与城市神话
《 伦敦梦:移民与城市神话 》

售價:NT$ 359.0
对赌(不敢赌就永远没机会赢!教科书级别的融资全流程实操小说,一口气讲透资本运作的底层逻辑!全新修订,20万册纪念版!)
《 对赌(不敢赌就永远没机会赢!教科书级别的融资全流程实操小说,一口气讲透资本运作的底层逻辑!全新修订,20万册纪念版!) 》

售價:NT$ 354.0

建議一齊購買:

+

NT$ 742
《 Tomcat源码全解与架构思维 》
+

NT$ 753
《 详解HTTP:协议基础与Go语言实现 》
+

NT$ 632
《 高并发系统实战派:集群、Redis缓存、海量存储、Elasticsearch、RocketMQ、微服务、持续集成等 》
+

NT$ 748
《 深入理解高并发编程:核心原理与案例实战 》
+

NT$ 490
《 uni-app跨平台开发与应用从入门到实践 DCloud/uni-app官方认证教材 欧阳江涛著 》
+

NT$ 574
《 Python FastAPI Web开发从入门到项目实战(视频版) 》
編輯推薦:
采用由浅入深、由易到难的讲解模式,结合案例,全面剖析Spring IoC源码
內容簡介:
本书从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.2AnnotationScopeMetadataResolver分析
小结
第15章 Spring事件
15.1Spring事件测试环境搭建
15.2Spring事件处理器注册
15.2.1事件处理器实例创建后
15.2.2事件处理器实例摧毁前
15.3Spring事件推送和处理
小结
第16章 占位符解析
16.1基本环节搭建
16.2XML的解析
16.3外部配置的读取
16.4字符串占位符解析
16.4.1resolveStringValue分析
16.4.2resolvePlaceholders分析
16.4.3resolveRequiredPlaceholders分析
16.4.4BeanDefinitionVisitor#visitBeanDefinition分析
小结
第17章 Spring 中的转换服务
17.1初识 Spring转换服务
17.2ConversionServiceFactoryBean对象的实例化
17.2.1afterPropertiesSet 方法分析
17.2.2GenericConversionService对象创建
17.2.3注册转换服务
17.2.4ConversionServiceFactory.registerConverters 分析
17.3转换过程分析
17.3.1ConversionService 分析
17.3.2handleResult分析
17.3.3getConverter分析
17.3.4ConversionUtils.invokeConverter分析
17.3.5handleConverterNotFound分析
17.4脱离 Spring 实现转换服务
小结
第18章 MessageSource源码分析
18.1MessageSource测试环境搭建
18.2MessageSource实例化
18.3getMessage方法分析
18.3.1resolveCodeWithoutArguments方法分析
18.3.2resolveCode方法分析
小结
第19章 资源解析器
19.1资源解析器测试环境搭建
19.2ResourcePatternResolver类图分析
19.3PathMatchingResourcePatternResolver构造器分析
19.4getResource 方法分析
19.5getResources方法分析
19.5.1findPathMatchingResources 方法分析
19.5.2findAllClassPathResources方法分析
小结
第20章 BeanName 生成策略
20.1AnnotationBeanNameGenerator 分析
20.1.1AnnotatedBeanDefinition类型的BeanName生成策略
20.1.2非AnnotatedBeanDefinition类型的BeanName生成策略
20.2FullyQualifiedAnnotationBeanNameGenerator分析
20.3DefaultBeanNameGenerator分析
小结
第21章 条件注解
21.1条件注解测试环境搭建
21.2条件注解分析
小结
第22章 Spring排序注解
22.1排序注解测试环境搭建
22.2OrderComparator.sort方法分析
小结
內容試閱
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月

 

 

書城介紹  | 合作申請 | 索要書目  | 新手入門 | 聯絡方式  | 幫助中心 | 找書說明  | 送貨方式 | 付款方式 香港用户  | 台灣用户 | 海外用户
megBook.com.tw
Copyright (C) 2013 - 2024 (香港)大書城有限公司 All Rights Reserved.