![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Spring
文章平均质量分 84
hresh
这个作者很懒,什么都没留下…
展开
-
Spring源码学习目录
文章目录正文总结正文Spring 是一个开源的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。包括在此基础上衍生的 Spring MVC、 Spring Boot 、Spring Cloud 等,在现在企业中的应用越来越广泛。因此对于 Spring 框架的学习显得尤为必要,接下来会将有关 Spring 的学习内容进行总结。在 Spring...原创 2020-02-28 16:58:02 · 671 阅读 · 0 评论 -
Spring AOP代理的生成
文章目录封装 Advisor创建代理获取代理获取目标方法的拦截器启动拦截器链执行目标方法总结参考文献紧接着上文,在获取了所有对应 Bean 的增强器后,便可以进行代理的创建了。回到 postProcesssAfterIntialization 方法中,在我们分析完 getAdvicesAndAdvisorsForBean()后,还有一个 createProxy 方法。protected Ob...原创 2020-02-28 16:20:57 · 260 阅读 · 0 评论 -
Spring AOP创建代理之获取增强器
文章目录postProcessBeforeInstantiation获取增强器1、普通增强器的获取2、增加同步实例化增强器3、获取DeclareParents注解postProcesssAfterIntialization寻找匹配的增强器拓展筛选出的增强器列表总结参考在上一篇文章中我们讲解了关于Spring AOP 自定义标签的解析,其中主要是完成了对 AspectJAwareAdvisorAu...原创 2020-02-28 16:19:11 · 442 阅读 · 0 评论 -
Spring AOP自定义标签解析
文章目录基于XML的AOP实现——标签解析基于注解的AOP实现——标签解析总结参考在初识Spring AOP一文中我们初步了解了 Spring AOP 的概念和实现方式,那么我们接下来深入了解底层实现的原理,这就需要对源码进行解读。在之前的 Sping IoC 系列,从测试代码里的定义可以知道该先从哪里入手,比如说 ApplicationContext 和 getBean()等。但是 AOP ...原创 2020-02-28 15:46:01 · 322 阅读 · 0 评论 -
Spring AOP核心概念
文章目录连接点 - Joinpoint切点 - Pointcut增强/通知 - Advice切面 - Aspect织入 - Weaving实例总结参考文献在上一章节中我们初步了解 Spring AOP,包括 Spring AOP 的基本概念以及使用,本文将对 AOP 核心概念进行解读。连接点 - Joinpoint连接点是指程序执行过程中的一些点,比如方法调用,异常处理等。在 Spring ...原创 2020-02-28 15:37:05 · 1135 阅读 · 0 评论 -
初识Spring AOP
文章目录概念AOP介绍AOP核心概念AOP标签配置元素AOP实现步骤实例基于XML基于注解概念AOP介绍AOP(Aspect-Oriented Programming:面向切面编程)能够将那些与业务无关,却为业务模块所共同调用的逻辑或责任(例如事务处理、日志管理、权限控制等)封装起来,便于减少系统的重复代码,降低模块间的耦合度,并有利于未来的可拓展性和可维护性。Spring AOP 就是基...原创 2020-02-28 15:31:33 · 236 阅读 · 0 评论 -
代理模式
文章目录代理模式字节码处理静态代理AspectJ 静态代理JDK静态代理动态代理JDK动态代理CGLIB动态代理参考文献代理模式代理模式是很常见的一种设计模式,代理一词拆开来看就是代为受理,那显然是要涉及到请求被代理的委托方,提供代理的代理方,以及想要通过代理来实际联系委托方的客户三个角色。举个生活中常见的例子,房东都是通过中介来处置自己的房屋,并不与租客直接接触,这种场景下,房东本身是委托方...原创 2020-02-15 23:49:54 · 245 阅读 · 0 评论 -
AspectJ入门及在IDEA中的配置
文章目录AspectJ安装AspectJ下载AspectJ环境变量配置IDEA下配置AspectJ激活AspectJ支持插件添加aspectjrt.jar依赖或Maven依赖使用AspectJ编译器(ajc)AspectJ简单示例示例一示例二问题记录参考文献AspectJAspectJ 是一个基于 Java 语言的 AOP 框架,提供了强大的 AOP 功能,其他很多 AOP 框架都借鉴或采纳其...原创 2020-02-15 23:43:45 · 7333 阅读 · 0 评论 -
Spring IoC图形化总结
文章目录bean 的转换过程BeanDefinition 加载过程getBean 全流程bean 生命周期bean 的转换过程BeanDefinition 加载过程getBean 全流程bean 生命周期原创 2020-01-13 19:19:23 · 273 阅读 · 0 评论 -
Spring之PropertyEditor
文章目录概述PropertyEditor简介内置PropertyEditor自定义PropertyEditorCustomEditorConfigurerDate属性编辑自定义属性编辑器参考文献概述在 Spring 配置文件里,我们往往通过字面值为 Bean 各种类型的属性提供设置值:不管是 double 类型还是 int 类型,在配置文件中都应字符串类型的字面值。BeanWrapper 填充...原创 2020-01-13 19:12:47 · 737 阅读 · 0 评论 -
Spring IoC之BeanWrapper
文章目录概述BeanWrapper 简介BeanWrapper 使用场景BeanWrapper 的使用BeanWrapper 源码解析属性设置和获取定义属性设置和获取具体实现构造方法设置属性获取属性参考文献概述从上节 Spring IoC之ApplicationContext 解读完毕之后,关于 Spring IoC 中比较重要的5个组件我们已经分析完毕,但是这只是 IoC 容器涉及到的比较重...原创 2020-01-13 19:06:51 · 714 阅读 · 0 评论 -
Spring IoC之ApplicationContext
文章目录概述ApplicationContextApplicationContext 的子接口WebApplicationContextConfigurableApplicationContextConfigurableWebApplicationContextClassPathXmlApplicationContextMessageSourceApplicationEventPublisherR...原创 2020-01-07 09:56:14 · 401 阅读 · 0 评论 -
Spring IoC之BeanDefinitionReader
文章目录概述BeanDefinitionReaderAbstractBeanDefinitionReaderXmlBeanDefinitionReader概述BeanDefinitionReader 的作用是读取 Spring 配置文件中的内容,将其转换为 IoC 容器内部的数据结构:BeanDefinition。在上一章节关于 BeanDefinition 的学习中有提到 XmlBeanDe...原创 2020-01-07 09:55:38 · 422 阅读 · 0 评论 -
Spring IoC自定义标签解析
文章目录概述自定义标签获取标签的命名空间读取自定义标签处理器标签解析概述本文接着 Spring IoC之存储对象BeanDefinition 一文继续学习,在学习自定义标签的知识时,首先我们先了解一下自定义标签的实现,欢迎阅读:Spring自定义标签的实现自定义标签在 parseBeanDefinitions()方法中有这么一段代码:if (delegate.isDefaultNames...原创 2020-01-07 09:55:25 · 206 阅读 · 0 评论 -
Spring自定义标签的实现
文章目录概述自定义标签创建组件AbstractSingleBeanDefinitionParser 实现方式定义 XSD 文件Parser 类Handler 类Spring.handlers和Spring.schemas创建测试配置文件测试BeanDefinitionParser 实现方式定义 XSD 文件Parser 类Handler 类Spring.handlers和Spring.schema...原创 2020-01-07 08:39:47 · 274 阅读 · 0 评论 -
Spring IoC之存储对象BeanDefinition
文章目录概述BeanDefinition 的创建getValidationModeForResourceloadDocumentregisterBeanDefinitionsimport 标签alias 标签bean 标签parseBeanDefinitionElementdecorateBeanDefinitionIfRequiredbeans 标签自定义标签参考文献概述BeanDefini...原创 2020-01-06 22:11:15 · 902 阅读 · 0 评论 -
Spring IoC之循环依赖处理
文章目录什么是循环依赖如何检测循环依赖解决循环依赖实例分析分析参考文献什么是循环依赖循环依赖其实是循环引用,也就是两个或则两个以上的 bean 互相持有对方,最终形成闭环。比如A依赖于B,B依赖于C,C又依赖于A。如下图所示:注意,这里不是函数的循环调用,是对象的相互依赖关系。循环调用其实就是一个死循环,除非有终结条件。Spring 中循环依赖场景有:构造器的循环依赖field 属...原创 2020-01-06 21:56:14 · 310 阅读 · 0 评论 -
Spring bean之间的关系
文章目录概述继承依赖关系引用概述在学习 bean 的加载过程时不了解 bean 循环依赖的概念,因此在查阅相关资料时发现 bean 之间除了依赖关系还有其他一些关系。因此本章就对 bean 之间的关系进行整理,bean 之间的关系可以通过对 bean元素标签的设置起作用,完成一些特殊的功能。在 Spring 容器中,两个 Bean 之间除了注入关系外,还存在继承、依赖和引用关系。继承关系...原创 2020-01-06 21:51:29 · 301 阅读 · 0 评论 -
Spring IoC之AbstractBeanFactory
文章目录获取 beanName缓存中获取单例bean原型模式依赖检查与 parentBeanFactory类型检查与依赖处理各 scope 的 bean 创建singleton原型模式其他作用域AbstractBeanFactory 实现了依赖关系处理,它 继承了 DefaultSingletonBeanRegistry 类,并进一步丰富了已有的功能,这个类提供了 singleton/proto...原创 2020-01-06 21:33:05 · 942 阅读 · 0 评论 -
Spring IoC之BeanFactory
文章目录概述BeanFactoryFactoryBeanAbstractBeanFactoryDefaultListableBeanFactory属性构造函数setSerializationIdgetBean概述在上一章节 Spring IoC之ClassPathXmlApplicationContext 关于 ClassPathXmlApplicationContext 的使用流程进行了简单...原创 2020-01-06 21:30:07 · 207 阅读 · 0 评论 -
Spring IoC之ApplicationContext中refresh过程
文章目录refresh()3.1 prepareRefresh方法3.2 obtainFreshBeanFactory3.3 prepareBeanFactory3.4 postProcessBeanFactory3.5 invokeBeanFactoryPostProcessors3.6 registerBeanPostProcessors3.7 initMessageSource3.8 ...原创 2020-01-06 21:19:12 · 360 阅读 · 0 评论 -
Spring IoC之ClassPathXmlApplicationContext
文章目录概述ClassPathXmlApplicationContext构造方法之configLocations1、 super(parent)2、设置文件配置路径3、 refresh()构造方法之paths总结参考资料概述前面我们讲了 Spring 资源的定义和资源的加载情况,还剩下 BeanFactory、BeanDefinition、BeanDefinitionReader 和 Appl...原创 2020-01-06 21:12:17 · 1766 阅读 · 0 评论 -
Spring之BeanFactoryPostProcessor和BeanPostProcessor
文章目录概述BeanFactoryPostProcessor实际分析XML 文件配置PropertyPlaceholderConfigurer自定义BeanFactoryPostProcessorBeanPostProcessor实战分析总结概述BeanFactoryPostProcessor 和 BeanPostProcessor 这两个接口,都是 Spring 初始化 bean 时对外暴露...原创 2020-01-06 20:41:34 · 1681 阅读 · 0 评论 -
Spring IoC资源管理之ResourceLoader
文章目录概述ResourceLoaderDefaultResourceLoaderFileSystemResourceLoaderResourcePatternResolvergetResource()getResources()findAllClassPathResourcesfindPathMatchingResources总结参考文献概述在上一章节Spring IoC资源管理之Resou...原创 2020-01-06 20:35:55 · 2197 阅读 · 0 评论 -
Spring IoC资源管理之Resource
文章目录概述ResourceAbstractResourceClassPathResourceFileSystemResource参考文献概述在学 Java SE 的时候我们学习了一个标准类 java.net.URL,该类在 Java SE 中的定位为统一资源定位器(Uniform Resource Locator),但是我们知道它的实现基本只限于网络形式发布的资源的查找和定位。然而,实际上资...原创 2020-01-06 20:30:50 · 645 阅读 · 0 评论 -
Spring之IoC理论
文章目录概述为什么需要 IoCIoC本质实战分析编写代码思考IoC涉及到的组件IoC创建对象无参构造器有参构造器Spring中XML配置参考文献概述上一篇spring概述我们搭建完基于 Spring 框架的环境, 这篇我们开始真正的阅读 Spring 的源码,分析 Spring 的源码之前我们先来简单回顾下 Spring 核心功能的简单使用。为什么需要 IoC假如有这么一个业务场景:da...原创 2020-01-06 20:25:47 · 289 阅读 · 0 评论 -
Spring概述
文章目录Spring概述简介优点整体架构创建测试项目参考文献Spring概述简介Spring 是一个开源的设计层面框架,它解决的是业务逻辑层和其他各层的松耦合问题,因此它将面向接口的编程思想贯穿整个系统应用。2002 年,Rod Jahnson 首次推出了 Spring 框架雏形 interface21 框架。2004 年3月24日,Spring 框架以 interface21 框...原创 2020-01-06 18:14:21 · 468 阅读 · 0 评论