我想使用Spring Boot实现GoF观察者设计模式,而不使用Spring Events。
代码示例:
@Component
public class MyObservable extends java.util.Observable {
void myObservableMethod(Object obj){
notifyObservers(obj);
}
}
@Component
public class MyObserver implements java.util.Observer{
@Override
public void update(java.util.Observable observable, Object obj) {
System.out.println(obj.toString());
}
}
- Are the java.util classes a good implementation for that pattern ?
How can I register the observer with the observable , and still able to use Spring Depedency Injection?
Where I can call myObserver.accept(myObservable); ?@Autowired MyObservable myObservable; @Autowired MyObserver myObservable; myObserver.accept(myObservable); //??
@Autowired
并且它所在的类是一个 bean,那么 Spring 将尝试在上下文初始化期间装配该方法,它将尝试查找匹配参数的 bean 并调用该方法。我已经给出了关于如何使用 java.util 实现观察者模式的最佳答案,如果你想要关于使用 Spring 事件或其他框架的建议,那么你可能需要提一个新问题。 - Magnus