检票口依赖项注入与实现IComponentInstantiationListener的类一起使用。每当实例化组件时,就会调用这些应用程序级侦听器。这是用于组件依赖注入的钩子。
模型类没有适当的机制。任何模型都可以直接实现IModel,因此与Component不同,没有抽象的基类可以调用侦听器。
我为注入的模型(Wicket 1.5)使用以下基类:
public abstract class InjectedDetachableModel<T> extends LoadableDetachableModel<T> { public InjectedDetachableModel() { Injector.get().inject(this); } public InjectedDetachableModel(T a_entity) { super(a_entity); Injector.get().inject(this); }}编辑 :从Wicket 1.5迁移指南摘录的1.4和1.5之间的相关差异摘要:
小门1.4
@Overrideprotected void init(){ // initialize Spring addComponentInstantiationListener(new SpringComponentInjector(this, applicationContext));}和
InjectorHolder.getInjector().inject(Object object)
小门1.5:
@Overrideprotected void init(){ // initialize Spring getComponentInstantiationListeners().add(new SpringComponentInjector(this, applicationContext))}和
Injector.get().inject(Object object)



