我正在寻找例如使用 gin 和 smartgwt 的代码拆分...
在我的简单应用程序中,我有 2 个模块AutoLoadModule
和WindowModule
. 在我的简单应用程序中,我只需要在单击某个按钮时加载一个窗口。
我的窗口模块包含:
@Override
protected void configure() {
bind(MainWindow.class).in(Singleton.class);
}
我的MainWindow
:
@Singleton
public class MainWindow extends Window implements SessionStatusChangedEvent.Handler {
private final XmppSession session;
@Inject
private MainWindow(XmppSession session) {
Log.debug("Constructor ImMainWindow... !");
this.session = session;
initComponent();
}
....................
在我的AutoLoadModule
我有绑定AutoLoad
asEagerSingleton();
@Override
protected void configure() {
bind(StartButton.class).toProvider(StartChatButtonProvider.class);
bind(AutoLoader.class).asEagerSingleton();
}
我的AutoLoader
班级:
@Singleton
public class AutoLoader implements Scheduler.ScheduledCommand {
private final XmppConnection connection;
@Nullable
private final ImStartButton startButton;
@Inject
protected AutoLoader(final XmppConnection connection, final XmppSession session,
final StartButton startButton) {
this.startButton = startButton;
Scheduler.get().scheduleDeferred(this);
}
@Override
public final void execute() {
startButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
Log.debug("StartButton click handler...");
//load window in this point but how ? ....
}
});
}
}
当窗口在时,是否可以使用代码拆分加载窗口实例WindowModule
?在我的示例应用程序中,我只需要使用代码拆分按需加载窗口,并且该窗口必须位于 gin 模块中。