Spring 中的观察者模式】的更多相关文章

一.Spring 中观察者模式的四个角色 1. 事件(ApplicationEvent) ApplicationEvent 是所有事件对象的父类.ApplicationEvent 继承自 jdk 的 EventObject, 所有的事件都需要继承 ApplicationEvent, 并且通过 source 得到事件源. 下列描述了Spring提供的内置事件: ContextRefreshedEvent:事件发布在 ApplicationContext 初始化或刷新时(例如:通过在 Configu…
spring中的事件驱动模型也叫作发布订阅模式,是观察者模式的一个典型的应用,关于观察者模式在之前的博文中总结过,http://www.cnblogs.com/fingerboy/p/5468994.html  这里主要讲一下Spring中的观察者模式的应用. spring事件驱动模型的结构. 首先明确几个spring提供的类的概念 1.ApplicationEvent public abstract class ApplicationEvent extends EventObject { pr…
观察者模式可以说是众多设计模式中,最容易理解的设计模式之一了,观察者模式在Spring中也随处可见,面试的时候,面试官可能会问,嘿,你既然读过Spring源码,那你说说Spring中运用的设计模式吧,你可以自信的告诉他,Spring中的ApplicationListener就运用了观察者模式. 让我们一步一步来,首先我们要知道到底什么是观察者模式,用Java是如何实现的,在这里,我将会用三种方式来实现观察者模式. 什么是观察者模式 在现实生活中,观察者模式处处可见,比如 看新闻,只要新闻开始播放…
使用spring中的Log4jConfigListener有如如下好处:    1. 动态的改变记录级别和策略,不需要重启Web应用,如<Effective Enterprise Java>所说.    2. 把log文件定在 /WEB-INF/logs/ 而不需要写绝对路径. 因为 系统把web目录的路径压入一个叫webapp.root的系统变量.这样写log文件路径时不用写绝对路径了. log4j.appender.logfile.File=${webapp.root}/WEB-INF/l…
本篇博客我们就来聊一下Spring框架中的观察者模式的应用,即事件的发送与监听机制.之前我们已经剖析过观察者模式的具体实现,以及使用Swift3.0自定义过通知机制.所以本篇博客对于事件发送与监听的底层实现就不做过多赘述了.下方会给出Spring中是如何进行事件的发送与监听的.聊完事件的发送与监听,我们再来聊一下如何使用@Profile注解来切换"生产环境"与"开发环境". 一.Spring中的事件发送与监听 Spring中的事件发送与监听说白了就是广播.由Publ…
https://mp.weixin.qq.com/s?__biz=MzU0MDEwMjgwNA==&mid=2247485205&idx=1&sn=63455d2313776d8c24259ad12c999d11&chksm=fb3f1eeecc4897f857bdf38c2fc30e3dc75f8c7c7cf77cd93e2489c119ba6e973797ed3a7d14&scene=0&key=81c8654a52f48fc27b6b1a0608d9a…
目录 Spring使用的设计模式 1.单例模式 2.原型模式 3.模板模式 4.观察者模式 5.工厂模式 简单工厂模式 工厂方法模式 6.适配器模式 7.装饰者模式 8.代理模式 9.策略模式   Spring框架是每个java程序猿入门级的框架也是最重要的框架,而Spring中也采用了很多的设计模式,这些也会成为我们面试过程中经常会问到的问题,所以本文就整理出Spring中具体使用的哪些设计模式. ******** Java单例模式 Java原型模式(prototype) Java模板模式(t…
在客户这边上班,平时做开发的时候用到了一个客户自己写的一个开发框架,和spring类似,就是功能少一点,提供了依赖注入,事件体系,任务执行等常用的功能,还提供了一个桥接器,可以把spring中的bean映射为该框架中的bean,在看该框架的代码的事件体系的时候我也顺便看了一下spring中的事件体系的实现方式,发现,spring中的事件体系实现的比较简单,和之前自己想当然的不太一样(以前自己想当然的以为spring的事件体系肯定是使用了观察者模式之类的,看了源代码之后,发现其实不是这样的) sp…
最近在看tomcat源码,源码中出现了大量事件消息,可以说整个tomcat的启动流程都可以通过事件派发机制串起来,研究透了tomcat的各种事件消息,基本上对tomcat的启动流程也就有了一个整体的认识.在这一基础上,联想到之前在看spring源码过程中也存在不少事件相关知识,于是想对这两个框架中的事件派发机制做一个简单的总结,加深理解. 事件机制原理其实比较简单,抽象来看的话,设计模式中的观察者模式可以说是最经典的事件驱动机制的体现了,观察者和被观察者就体现了事件监听和事件派发的角色.还有各种…
BeanFacotry是spring中比较原始的Factory.如XMLBeanFactory就是一种典型的BeanFactory.原始的BeanFactory无法支持spring的许多插件,如AOP功能.Web应用等.   ApplicationContext接口,它由BeanFactory接口派生而来,因而提供BeanFactory所有的功能.ApplicationContext以一种更向面向框架的方式工作以及对上下文进行分层和实现继承,ApplicationContext包还提供了以下的功…