我有一個Wicket窗體的頁面,表單需要合作者完成其工作。合作者注入(爲此我使用的吉斯),看起來是這樣的:Wicket依賴注入
我不喜歡這個想法,RegistrationService注入RegistrationPage時,它只是需要它的RegistrationForm。我可以改變RegistrationForm接收RegistrationService:
public RegistrationForm(RegistrationService service) {
this.service = service;
}
,並從RegistrationPage刪除該字段,但RegistrationPage仍在使用直通做。
我想我問的是最好的做法是做什麼?這是確定的事情,或者它或許會是更好地RegistrationForm自身注入到頁:
public class RegistrationPage extends WebPage {
@Inject
public RegistrationPage(RegistrationForm form) {
add(form);
}
}
---
private class RegistrationForm extends Form {
private RegistrationService service;
@Inject
public RegistrationForm(RegistrationService service) {
this.service = service;
}
protected void onSubmit() {
service.doSomething();
}
}
我喜歡這個,因爲我想有一個單獨的類/文件RegistrationForm。我對Wicket很陌生,不確定這個標準是什麼 - 有人能讓我看到指引性的燈光嗎? :)
尼斯一個安德烈亞斯,這正是我之後。我沒有意識到IComponentInstantiationListener。 – tddmonkey 2009-03-20 09:40:59