一叶知秋

  • 首页
  • 归档
  • 标签
  • 日程

Spring5源码解析-Spring框架中的事件和监听器

发表于 2017-09-27   |   分类于 基础   |  

Spring5源码解析- Spring框架中的事件和监听器

事件和平时所用的回调思想在与GUI(JavaScript,Swing)相关的技术中非常流行。而在Web应用程序的服务器端,我们很少去直接使用。但这并不意味着我们无法在服务端去实现一个面向事件的体系结构。

在本文中,我们将重点介绍Spring框架中的事件处理。首先,会先介绍下事件驱动编程这个概念。接着,我们会将精力放在专门用于Spring框架中的事件处理之上。然后我们会看到实现事件调度和监听的主要方法。最后,我们将在Spring应用程序中展示如何使用基本的监听器。

阅读全文 »

Spring5源码解析-使用Spring AnnotationUtils处理注解

发表于 2017-09-22   |   分类于 基础   |  

Spring5源码解析-使用Spring AnnotationUtils处理注解

通过Java中的注解,程序员可以将配置文件中的一些配置通过使用Java类来实现。例如,在Spring中,通过@RequestMapping注解,我们可以直接在controller内配置URL映射。一般来说,成功者的背后离不开一帮默默支持他的小伙伴,这里同样是,一旦离开其中一个,就甭指望实现所期望的功能,这里要说的一个就是AnnotationUtils。

在本文中,我们将会看到AnnotationUtils类是如何给我们提供极大的便利的。首先,我们将关注下其所有可用的方法。进而,我们来看看这些方法用在了什么地方。最后,老规矩,Demo。

代码截的不少,主要还是为了在平时不一定有IDE环境下清楚的看清弄懂上下文的调用关系,也方面读者可以快速的找到相应的代码所在地。

另外,这一篇融合了前面很多篇的细节,有些不清晰明了的地方,请回头看前面的系列。

阅读全文 »

Spring5源码解析-Spring中的Bean post processors

发表于 2017-09-18   |   分类于 基础   |  

Spring5源码解析-Spring中的Bean post processors

我们之前已经对Spring中的bean工厂后置处理器说道过了。但是,依然留下了一个类似的概念的小尾巴需要来解释,这就是bean后置处理器(bean post processors)。

本文将分为两部分。在第一部分,将了解下Spring的单个后处理器bean。第二部分将涉及一些后置处理器(post processors)实际使用的例子。

阅读全文 »

Spring5源码解析-Spring中的bean工厂后置处理器

发表于 2017-09-16   |   分类于 基础   |  

Spring5源码解析-Spring中的bean工厂后置处理器

Spring允许我们使用bean来进行大量的操作(这也是我们面向对象思想最常用的表达方式)。我们可以决定它们在容器中是否是(单例或者是原型)唯一实例。通过bean工厂后置处理器我们还可以在初始化时进行一些额外的操作。

在这篇文章中,来介绍下bean factory post processor。在第一部分,我们来发现下这个概念背后玄机。之后我们会写一些有趣代码来让大伙更好地理解这个概念。

阅读全文 »

Spring5源码解析-Spring框架中的单例和原型bean

发表于 2017-09-15   |   分类于 基础   |  

Spring5源码解析-Spring框架中的单例和原型bean

最近一直有问我单例和原型bean的一些原理性问题,这里就开一篇来说说的

通过Spring中的依赖注入极大方便了我们的开发。在xml通过<bean>定义(或者通过@Bean在配置类里定义)对象之后,然后只需简单地使用@Autowired注解,就可以使用由Spring上下文管理的每个对象。需要注意的是,所有这些对象在Spring中默认都是单例。

这一次我们会去讨论Spring如何来管理这些定义的bean。在第一部分中,我们将讲解单例和原型作用域的概念。第二部分中,我们将分析单例和原型作用域之间的依赖关系。其后说一下方法注入。最后专门对相关Spring的代码来做下分析,具体看看bean是如何构建出来的。

阅读全文 »

Spring5源码解析-Spring中的Context loader

发表于 2017-09-12   |   分类于 基础   |  

Spring5源码解析-Spring中的Context loader

我们已经知道,应用程序上下文是Spring管理的bean所在的容器。但是我们依然要问一个问题:这个上下文是如何创建的?那么在这篇文章中我们来探讨这个问题。

在第一部分中,会说下在Spring的应用程序上下文中所谓的上下文加载器(context loader)是什么。在第二部分,我们会讨论这个加载器的代码细节。最后一部分,老规矩,写我们自己的一个自定义的loader。在继续之前,需要说一下,loader(加载器) 将根据web application和dispatcher servlet来结合进行分析。其实这也是很多人一碰到源码就像无头苍蝇,不知道从何而起了,刚开始放下所有,从大体去思考该如何入手,这里对设计模式了解就很重要了,还有,源码的类注释很重要,不多说,接着走。

阅读全文 »

Spring5源码解析-Spring中的应用上下文

发表于 2017-09-08   |   分类于 基础   |  

Spring5源码解析-Spring中的应用上下文

之前讲到过,Spring中的 beans生活(用这俩字觉得更形象具体)在其应用程序的上下文环境中。在本文中,我们将详细介绍应用程序上下文,另外此篇同样是由域联系到的逃逸分析的关于Spring容器的续篇。

关于Spring5源码解析-@Autowired这篇文章讲了通过@Autowired注解进行依赖注入。这一次我们来探讨应用程序上下文(application context)的概念。在第一部分中,我们来看看所有Spring管理的bean生活在什么样的环境中。在第二部分,来分析下到负责上下文管理的类。在最后一部分中,我们来进行一些实践操作。

阅读全文 »

Spring5源码解析-Spring Web中的处理程序执行链

发表于 2017-08-28   |   分类于 基础   |  

Spring5源码解析-Spring Web中的处理程序执行链

Spring的DispatcherServlet假如缺少几个关键元素将无法分派请求。其中最重要的一个是处理程序执行链。

在这篇文章中,我们把注意力放在处理程序执行链之上。老规矩,第一部分将介绍这个概念。第二部分把目光引入到Spring执行链的世界中。在最后一部分,我们将分析如何在Spring中利用之前自定义DispatcherServlet中实现一个自定义的处理程序执行链。

阅读全文 »

Spring中Bean的作用域

发表于 2017-08-25   |   分类于 基础   |  

Spring中Bean的作用域

Spring Bean,就像JavaBeans中一样,有其使用的作用域。前面的文章中我们已经看到其中的两个:singleton 和prototype。这次来讲讲另外2个作用域(总共六个,参考本人Spring5文档翻译)。

阅读全文 »

Spring5源码解析-@Autowired

发表于 2017-08-23   |   分类于 基础   |  

Spring5源码解析-@Autowired

你有没有思考过Spring中的@Autowired注解?通常用于方便依赖注入,而隐藏在这个过程之后的机制到底是怎样,将在本篇中进行讲述。

阅读全文 »
1234…11
知秋

知秋

只记空山,只念新雨

102 日志
19 分类
25 标签
RSS
Links
  • 小舒哥
© 2019 知秋
由 Hexo 强力驱动
主题 - NexT.Mist