Spring系列
文章平均质量分 97
不懂的浪漫
这个作者很懒,什么都没留下…
展开
-
Spring 缓存 AOP 实现
Spring 缓存 AOP 实现文章目录Spring 缓存 AOP 实现前言1.项目环境2.Spring @Cacheable 示例3.实现猜想4.实现源码核心API5.Spring AOP API 示例6.源码分析6.1 @EnableCaching6.2 ProxyCachingConfiguration6.2.1 Advisor 实现6.2.2 Pointcut 实现6.2.3 Interceptor 实现6.2.4 CacheOperationSource 实现6.2.5 小结6.3 AutoPr原创 2021-07-19 16:36:49 · 815 阅读 · 1 评论 -
夯实Spring系列|第二十四章:Spring Environment 抽象
夯实Spring系列|第二十四章:Spring Environment 抽象文章目录夯实Spring系列|第二十四章:Spring Environment 抽象前言1.项目环境2.理解 Spring Environment 抽象3.Spring Environment 接口使用场景4.Environment 占位符处理5.理解条件配置 Spring Profiles6.Spring 4 重构 @Profile7.依赖注入 Environment8.依赖查找 Environment8.1 示例8.2 源码分原创 2020-10-24 21:30:17 · 351 阅读 · 1 评论 -
夯实Spring系列|第二十一章:Spring 泛型处理(Generic Resolution)
夯实Spring系列|第二十一章:Spring 泛型处理(Generic Resolution)文章目录夯实Spring系列|第二十一章:Spring 泛型处理(Generic Resolution)本章说明1.项目环境2.Java 泛型基础2.1 举例说明2.2 代码示例3.Java 5 类型接口4.Spring 泛型类型辅助类5.Spring 泛型集合类型辅助类6.Spring 方法参数封装 - MethodParameter7.Spring 4.2 泛型优化实现 - ResolvableType8.原创 2020-09-29 23:41:42 · 717 阅读 · 0 评论 -
夯实Spring系列|第二十三章:Spring 注解(Annotations)
夯实Spring系列|第二十三章:Spring 注解(Annotations)文章目录夯实Spring系列|第二十三章:Spring 注解(Annotations)前言1.项目环境2.Spring 注解驱动编程发展历程3.Spring 核心注解场景分类4.Spring 注解编程模型4.1 Spring 元注解(Meta-Annotations)4.2 Spring 模式注解(Stereotype Annotations)4.2.1 @ComponentScan 如何进行扫描?4.2.2 派生性示例4.3原创 2020-09-25 00:11:31 · 270 阅读 · 0 评论 -
Spring @Bean 的处理流程是怎样的?
Spring @Bean 的处理流程是怎样的?文章目录Spring @Bean 的处理流程是怎样的?项目环境1.@Bean 用法2.框架提前注册处理类3.解析类封装 @Bean 方法元信息4.将元信息转化为 BeanDefinition5.总结6.参考项目环境jdk 1.8spring 5.2.2.RELEASEgithub 地址:https://github.com/huajiexiewenfeng/thinking-in-spring本章模块:questions1.@Bean 用原创 2020-08-09 18:10:00 · 799 阅读 · 0 评论 -
Spring 如何处理循环依赖?
Spring 如何处理循环依赖?文章目录Spring 如何处理循环依赖?项目环境1.什么是循环依赖?2.Spring 如何来处理循环依赖?2.1 allowCircularReferences 参数分析2.2 doCreateBean 方法分析2.3 依赖注入阶段3.总结4.两个问题补充5.参考项目环境jdk 1.8spring 5.2.2.RELEASEgithub 地址:https://github.com/huajiexiewenfeng/thinking-in-spring本章模块:原创 2020-08-08 23:41:41 · 994 阅读 · 0 评论 -
夯实Spring系列|第二十二章:Spring 事件(Events)
夯实Spring系列|第二十二章:Spring 事件(Events)文章目录夯实Spring系列|第二十二章:Spring 事件(Events)前言1.项目环境2.Java 事件/监听编程模型3.面向接口的事件/监听器设计模式4.面向注解的事件/监听器设计模式5.Spring 标准事件-ApplicationEvent6.基于接口的 Spring 事件监听器7.基于注解的 Spring 事件监听器8.注册 Spring ApplicationListener9.Spring 事件发布器10.Spring原创 2020-07-20 15:12:51 · 519 阅读 · 0 评论 -
Spring AOP 拦截器调用的实现
Spring AOP 拦截器调用的实现文章目录Spring AOP 拦截器调用的实现前言相关文章项目环境1.设计原理2.JdkDynamicAopProxy 的 invoke 拦截3.CglibAopProxy 的 intercept 拦截4.目标对象方法的调用5.AOP拦截器链的调用6.配置通知器7.Advice通知的实现8.参考前言本篇是这个系列的正式内容最后一篇,主要是对拦截器相关设计原理介绍和具体实现源码的分析,也会和前面的内容串联起来进行回顾,加深印象。相关文章Spring AOP原创 2020-07-16 21:36:30 · 1396 阅读 · 1 评论 -
Spring AOP 和 IoC 以及容器启动之间有何关联?
Spring AOP 和 IoC 以及容器启动之间如何关联?文章目录Spring AOP 和 IoC 以及容器启动之间如何关联?前言项目环境1.示例2.猜想&验证2.1 猜想2.2 验证3.结论前言本系列我们已经学习了整个 AOP 核心的设计和实现原理,那么 AOP 和 IoC 他们之间有什么关联?在 Spring 容器启动时,到底一个 Bean 如何被替换成 Proxy 对象?本章我们就来一探究竟。项目环境Java 8Spring framework 5.2.2.RELEASEgi原创 2020-07-16 21:34:51 · 412 阅读 · 0 评论 -
Spring AOP 创建 AopProxy 代理对象原理分析
Spring AOP 创建 AopProxy 代理对象原理分析文章目录Spring AOP 创建 AopProxy 代理对象原理分析前言项目环境1.设计原理2.配置 ProxyFactoryBean3.AopProxy 的生成过程4.ProxyFactoryBean 生成 AopProxy 代理对象4.1 getObject4.2 initializeAdvisorChain4.3 getSingletonInstance4.4 createAopProxy5.JDK 生成 AopProxy 代理对象6.原创 2020-07-15 15:11:16 · 811 阅读 · 0 评论 -
Spring AOP 的设计与实现
Spring AOP 的设计与实现文章目录Spring AOP 的设计与实现前言项目环境1.JVM 的动态代理特性1.1 静态代理1.2 动态代理2.Spring AOP 的设计分析3.Spring AOP 的应用场景4.参考前言上一篇《Spring AOP 基础概述》,我们了解了 Spring AOP 的一些基础概念,比如 Advice,Pointcut,Advisor;本章将会讨论以下几个议题JVM 的动态代理特性Spring AOP 的设计分析Spring AOP 的应用场景项目环境原创 2020-07-15 15:06:05 · 412 阅读 · 0 评论 -
Spring AOP 基础概述
Spring AOP 基础概述文章目录Spring AOP 基础概述1.AOP是什么?2.AOP 用来解决什么问题?3.AOP 技术有哪些?4.AOP 体系结构图4.1 第一层:语言和开发环境4.2 第二层:面向方面系统4.3 第三层:具体实现5.Advice 通知5.1 前置通知5.2 后置通知5.3 异常通知6.Pointcut 切点7.Advisor 通知器8.参考1.AOP是什么?AOP:Aspect-Oriented Programming(面向切面编程)百度百科在软件业,AOP原创 2020-07-15 15:00:26 · 385 阅读 · 0 评论 -
夯实Spring系列|第二十章:Spring 类型转换(Type Conversion)
文章目录夯实Spring系列|第二十章:Spring 类型转换(Type Conversion)1.项目环境2.Spring 类型转换的实现3.使用场景4.基于 JavaBeans 接口的类型转换5.Spring 内建 PropertyEditor 扩展6.自定义 PropertyEditor 扩展6.1 示例7.Spring PropertyEditor 的设计缺陷8.Spring 3 通用类型转换接口9.Spring 内建类型转换器10.Converter 接口的局限性11.GenericConvert原创 2020-06-28 08:55:36 · 1399 阅读 · 0 评论 -
夯实Spring系列|第十九章:Spring 数据绑定(Data Binding)
文章目录夯实Spring系列|第十九章:Spring 数据绑定(Data Binding)1.项目环境2.Spring 数据绑定使用场景3.Spring 数据绑定组件4.Spring 数据绑定元数据4.1 PropertyValues 来源5.Spring 数据绑定控制参数5.1 DataBinder 绑定特殊场景分析5.2 DataBinder 绑定控制参数5.2.1 ignoreUnknownFields5.2.2 autoGrowNestedPaths5.2.3 ignoreInvalidFields原创 2020-06-27 10:18:38 · 1416 阅读 · 0 评论 -
夯实Spring系列|第十八章:Spring Validation 效验
文章目录夯实Spring系列|第十八章:Spring Validation 效验本章说明1.项目环境2.Spring 效验使用场景3.相关接口3.1 Validator 接口设计3.2 Errors 接口设计3.3 Errors 文案来源3.4 示例3.5 结论4.自定义 Validator4.1 实现 org.springframework.validation.Validator4.2 示例5.Validator 的救赎5.1 Bean Validation 与 Validator 适配5.2 示例6.原创 2020-06-27 10:15:32 · 841 阅读 · 0 评论 -
夯实Spring系列|第十七章:Spring 国际化(i18n)
文章目录夯实Spring系列|第十七章:Spring 国际化(i18n)前言1.项目环境2.Spring 国际化使用场景3.Spring 国际化接口3.层次性 MessageSource4.Java 国际化标准实现4.1 核心接口4.2 ResourceBundle 核心特性5.Java 文本格式化6.MessageSource 开箱即用实现7.MessageSource 内建实现8.Spring Boot 中应用8.1 Spring Boot 为什么要新建 MessageSource Bean?8.2 M原创 2020-06-12 11:51:43 · 1078 阅读 · 0 评论 -
夯实Spring系列|第十六章:Spring 资源管理
文章目录夯实Spring系列|第十六章:Spring 资源管理本章说明1.项目环境2.引入动机3.Java 标准资源管理3.1 基于 java.net.URLStreamHandler3.2 基于 java.net.URLStreamHandler 扩展协议4.Spring 资源接口5.Spring 内建 Resource6.Spring Resource 接口扩展6.1 EncodedResource 示例7.Spring 资源加载器7.1 FileSystemResourceLoader 示例8.Spr原创 2020-05-28 09:38:44 · 402 阅读 · 0 评论 -
夯实Spring系列|第十五章:Spring 配置元信息
文章目录夯实Spring系列|第十五章:Spring 配置元信息本章说明1.项目环境2.Spring 配置元信息3.Spring Bean 配置元信息4.Spring Bean 属性元信息4.1 PropertyValues4.2 AttributeAccessor4.3 BeanMetadataElement5.Spring 容器配置元信息6.基于 XML 文件装载 Spring Bean 配置...原创 2020-05-03 17:20:06 · 610 阅读 · 0 评论 -
夯实Spring系列|第十四章:Spring Bean 生命周期-下篇
文章目录夯实Spring系列|第十四章:Spring Bean 生命周期-下篇本章说明1.项目环境2.Spring Bean Aware 接口回调阶段2.1 示例改造12.2 源码分析12.3 ApplicationContext 生命周期 Aware 回调2.4 示例改造22.5 源码分析23.Spring Bean 初始化前阶段3.1 示例代码3.2 源码分析4.Spring Bean 初始化...原创 2020-05-01 16:46:59 · 339 阅读 · 0 评论 -
夯实Spring系列|第十三章:Spring Bean 生命周期-中篇
文章目录夯实Spring系列|第十三章:Spring Bean 生命周期-中篇本章说明1.项目环境2.Spring Bean 实例化前阶段2.1 示例2.2 调试2.3 结论3.Spring Bean 实例化阶段3.1 源码分析3.1.1 传统实例化方式 InstantiationStrategy3.1.2 构造器依赖注入3.1.2.1 示例改造3.1.2.2 源码调试4.Spring Bean ...原创 2020-05-01 16:24:52 · 466 阅读 · 0 评论 -
夯实Spring系列|第十二章:Spring Bean 生命周期-上篇
文章目录夯实Spring系列|第十二章:Spring Bean 生命周期-上篇本章说明1.项目环境2.Spring Bean 元信息配置阶段2.1 XML 配置2.2 注解 配置2.3 Properties 资源配置2.4 面向 API3.Spring Bean 元信息解析阶段3.1 面向资源 BeanDefinition 解析3.2 面向注解 BeanDefinition 解析4.Spring ...原创 2020-05-01 15:55:42 · 408 阅读 · 0 评论 -
夯实Spring系列|第十一章:Spring Bean 作用域
文章目录夯实Spring系列|第十一章:Spring Bean 作用域本章说明1.项目环境2.Spring Bean 作用域3."singleton" Bean作用域4."prototype" Bean作用域4.1 依赖查找示例4.2 依赖注入示例4.3 注意事项4.4 增加销毁生命周期5."request" Bean作用域5.1 示例6."session" Bean作用域7."applicati...原创 2020-04-26 12:20:01 · 283 阅读 · 0 评论 -
夯实Spring系列|第十章:IoC 依赖来源
文章目录夯实Spring系列|第十章:IoC 依赖来源本章说明1.项目环境2.依赖查找的来源2.1 Spring 内建 BeanDefinition 注册过程2.2 单例对象注册3.依赖注入的来源3.1 非 Spring 容器管理对象(ResolvableDependency)3.2 依赖来源示例4.Spring 容器管理和游离对象5.Spring BeanDefinition 作为依赖来源6.单...原创 2020-04-25 09:48:47 · 475 阅读 · 0 评论 -
夯实Spring系列|第九章:IoC 依赖注入(专题)-下
文章目录夯实Spring系列|第九章:IoC 依赖注入(专题)-下本章说明1.项目环境2.依赖注入类型选择3.基础类型注入3.1 Enum 类型3.2 Resource 类型4.集合类型注入4.1 数组类型4.2 集合类型5.限定注入5.1 通过 Bean 名称限定5.2 分组5.3 集合分组5.4 元标注分组5.5 完整示例6.延迟依赖注入6.1 ObjectProvider7.依赖处理过程7....原创 2020-04-23 14:37:55 · 262 阅读 · 0 评论 -
夯实Spring系列|第八章:IoC 依赖注入(专题)-上
文章目录夯实Spring系列|第八章:IoC 依赖注入(专题)-上本章说明1.项目环境2.手动模式 - 配置或者编程的方式2.1 依赖注入类型3.自动绑定(Autowiring)3.1 Spring 官方说明1.4.5. Autowiring Collaborators3.2 自动绑定(Autowiring)模式3.3.自动绑定(Autowiring)限制和不足4.Setter 方法依赖注入4.1...原创 2020-04-23 14:17:07 · 283 阅读 · 0 评论 -
夯实Spring系列|第七章:IoC 依赖查找(专题)
夯实Spring系列|第七章:IoC 依赖查找(专题)文章目录夯实Spring系列|第七章:IoC 依赖查找(专题)本章说明1.项目环境2.依赖查找的前世今生3.单一类型依赖查找3.1 根据 Bean 名称查找3.2 根据 Bean 类型查找3.3 根据 Bean 名称 + 类型 查找3.4 Spring 5.1 Bean 延迟查找4.集合类型依赖查找5.层次性依赖查找5.1 源码分析5.2 P...原创 2020-04-21 10:55:13 · 320 阅读 · 0 评论 -
夯实Spring系列|第六章:Spring Bean 注册、实例化、初始化、销毁
文章目录夯实Spring系列|第六章:Spring Bean 注册、实例化、初始化、销毁本章说明1.项目环境2.注册 Spring Bean2.1 注册示例2.1.1 Java 注解配置元信息2.2.2 Java API 配置元信息3.实例化 Spring Bean3.1 常规方式3.1.1 通过构造器3.1.2 通过静态工厂方法3.1.3 通过 Bean 工厂方法3.1.4 通过 Factory...原创 2020-04-20 08:08:47 · 465 阅读 · 0 评论 -
夯实Spring系列|第五章:Spring Bean 定义
文章目录夯实Spring系列|第五章:Spring Bean 定义1.项目环境2.什么是 BeanDefinition?3.BeanDefinition 元信息4.BeanDefinition 构建5.Spring Bean 的命名5.1 Bean 名称5.2 Bean名称生成器6.Spring Bean 的别名7.参考夯实Spring系列|第五章:Spring Bean 定义1.项目环境...原创 2020-04-19 11:08:21 · 385 阅读 · 0 评论 -
夯实Spring系列|第四章:谁才是 Spring IoC 容器?
1.本章说明本章主要讨论 BeanFactory 和 ApplicationContext 谁才是 Spring IoC 容器?2.验证上一篇:夯实Spring系列|第三章:IoC 依赖注入github 地址:https://github.com/huajiexiewenfeng/thinking-in-spring接着第三章的代码继续来看 到底谁才是 Spring IoC 容器?在...原创 2020-04-18 08:12:05 · 431 阅读 · 0 评论 -
夯实Spring系列|第三章:IoC 依赖注入
文章目录夯实Spring系列|第三章:IoC 依赖注入1.本章说明2.依赖注入方式3.项目环境4.代码演示4.1 新建 UserRepository POJO 对象4.2 创建一个 dependency-injection-context.xml 的 context 文件4.3 根据名称注入4.4 根据类型注入4.5 注入容器内建对象(依赖)4.5.1 内建非 Bean 对象(依赖)4.5.2 内...原创 2020-04-17 15:45:50 · 467 阅读 · 0 评论 -
夯实Spring系列|总览介绍
文章目录系列文章1.文章说明2.整理目的3.Spring 核心特性4.数据存储(Data Access)5.Web 技术6.技术整合7.测试(Testing)8.Java 版本依赖于支持9.面试题9.1 Spring Framework 有哪些核心模块?系列文章夯实Spring系列|总览介绍夯实Spring系列|夯实Spring系列|第一章:IoC到底什么是?1.文章说明本系列文...原创 2020-04-17 09:38:49 · 691 阅读 · 1 评论 -
夯实Spring系列|第二章:IoC 依赖查找
文章目录夯实Spring系列|第二章:IoC 依赖查找1.本章说明2.依赖查找方式3.项目环境4.代码演示1.新建 User POJO 对象2.创建一个 dependency-lookup-context.xml 的 context 文件3.根据 Bean 名称查找 - 实时查找4.根据 Bean 名称查找 - 延迟查找5.根据 Bean 类型查找 - 单个对象6.根据 Bean 类型查找 - 集...原创 2020-04-17 09:26:39 · 378 阅读 · 0 评论 -
夯实Spring系列|第一章:IoC到底是什么?
文章目录文章说明整理目的1.IoC 发展简介1.1 什么是 IoC?1.2 它从哪里来?2.IoC 主要实现策略3.IOC容器的职责3.1 通用职责4.现有 IoC 容器的实现5.依赖查找 VS 依赖注入6.构造器注入 VS Setter注入6.1 构造器注入6.2 Setter注入7.面试题7.1 什么是IoC?7.2 依赖查找和依赖注入的区别?7.3 Spring作为IoC容器有什么优势?8....原创 2020-04-16 10:16:16 · 521 阅读 · 0 评论