监听器的应用可以减少Java模块间代码的耦合度, 使代码结构更加清晰. 实现所谓的"职责分离"
比如,在做删除的时候, 把监听器注册到删除方法中,
在事件类中完成对象删除的后续处理, 比如,删除另外的表中相关的数据. 就是比较好的方式.
Java中注册监听器比较繁琐, 可以使用一个开源的框架来实现.
EventBus 1.4 API
测试类
public class TestEventBus {
public static void main(String[] args){
BrandEvent event = new BrandEvent();
AnnotationProcessor.process(event);
EventBus.publish(new TestEventModel());
EventBus.publish(new TestEventModel1());
}
}
事件的后续处理类和方法 :
public class BrandEvent {
@EventSubscriber(eventClass=TestEventModel.class)
public void brandDelete(TestEventModel testEventModel) {
System.out.println("Haha");
service.deletePicById(testEventModel.brandPicId);
}
@EventSubscriber(eventClass=TestEventModel1.class)
public void brandDelete1(TestEventModel1 testEventModel1) {
System.out.println("Haha11");
}
}
需要设置的条件和参数数据:
public class TestEventModel {
private int brandPicId;
}
例子见附件...