我有以下简单的页面:
public class Login extends BasePage {
private UserDao userDao;
@Inject
public void setUserDao(UserDao userDao) {
System.out.println("setUserDao");
this.userDao = userDao;
}
使用Application中的以下代码初始化Guice:
@Override
protected void init() {
Module myBatisModule = new XMLMyBatisModule() {
@Override
protected void initialize() {
}
};
IbdGuiceModule ibdGuiceModule = new IbdGuiceModule();
getComponentInstantiationListeners().add(new GuiceComponentInjector(this, myBatisModule, ibdGuiceModule));
}
Setter注射不起作用。从不调用setUserDao方法,userDao为null。
如果我将@Inject注释移动到该字段,则此方法有效(setUserDao仍未调用,但字段值已初始化)。
如何使用二传手注射?
答案 0 :(得分:1)
Wicket仅支持现场注入。 在Google中搜索“方法注入被视为有害”以获取详细信息。