我有以下简单页面:
public class Login extends BasePage {
private UserDao userDao;
@Inject
public void setUserDao(UserDao userDao) {
System.out.println("setUserDao");
this.userDao = userDao;
}
Guice 在应用程序中使用以下代码初始化:
@Override
protected void init() {
Module myBatisModule = new XMLMyBatisModule() {
@Override
protected void initialize() {
}
};
IbdGuiceModule ibdGuiceModule = new IbdGuiceModule();
getComponentInstantiationListeners().add(new GuiceComponentInjector(this, myBatisModule, ibdGuiceModule));
}
设置器注入不起作用。setUserDao 方法永远不会被调用,并且 userDao 为空。
如果我将 @Inject 注释移动到该字段,则此方法有效(仍然未调用 setUserDao,但已初始化字段值)。
如何使用setter注入?