Spring事件监听机制和Spring StateMachine都是基于观察者模式实现的,帮助业务代码进行解耦合。
Spring事件监听实现
Spring可以帮助开发者自己实现事件监听,开发者通过实现ApplicationListener(观察者Observer)接口定义一个监听器,同时通过实现ApplicationEvent(主题Subject)接口定义一个事件。实现ApplicationContextAware(发布器)通过发布器发布时间到ApplicationContext中。
1 | package com.souche.observer; |
1 | package com.souche.observer; |
1 | package com.souche.observer; |
1 | package com.souche.observer; |
启动一下:
1 | package com.souche.observer; |
结果:
1 | into My Publisher's method to add event |
可以通过@Order注解指定监听者的执行顺序。改善代码如下:
1 | package com.souche.observer; |
1 | package com.souche.observer; |
结果:
1 | into My Publisher's method to add event |