我得到一個奇怪的錯誤,使用輔助注射時,我不能讓過去:GIN AssistedInject問題「無法創建或繼承綁定」
[DEBUG] [project] - Rebinding com.gwtplatform.mvp.client.DesktopGinjector
[DEBUG] [project] - Invoking generator com.google.gwt.inject.rebind.GinjectorGenerator
[ERROR] [project] - Factory com.jorsek.editor.gin.EditorClientFactory could not be created
[ERROR] [project] - Error injecting com.jorsek.editor.gin.EditorClientFactory: Unable to create or inherit binding: No @Inject or default constructor found for com.jorsek.editor.gin.EditorClientFactory
路徑所需的節點:
融爲一體。 projectname.client.application.resourceworkspace.ResourceWorkspacePresenter [com.gwtplatform.mvp.client.gin.AbstractPresenterModule.bindPresenter(AbstractPresenterModule.java:122)] - > com.jorsek.editor.gin.EditorClientFactory [@Inject constructor of com。 projectname.client.application.resourceworkspace.ResourceWorkspacePresenter]
這裏是我擁有的一切設置:
我廠:
public interface EditorClientFactory {
/**
* Create a new DOMModel via assisted injection initializing the model
* with the document entity and it's DOM document content.
*
* @param document
* @param domDocument
* @return
*/
public DOMModel create(Entity document, Document domDocument);
}
我的模塊:
public class EditorClientModule extends AbstractGinModule {
@Override
protected void configure() {
install(new GinFactoryModuleBuilder().build(EditorClientFactory.class));
bind(DOMModel.class).to(SyncedDOMModel.class);
}
}
com.jorsek.editor.impl.SyncedDOMModel:
public class SyncedDOMModel implements DOMModel {
@Inject
private SyncedDOMModel(){} /* For GIN/GUICE */
@AssistedInject
public SyncedDOMModel(CollabClient client, CollabClientFactory collabFactory, @Assisted Entity ref, @Assisted Document domDoc){
}
}
這就是我試圖注入我的工廠使用說明:
@AssistedInject
public ResourceWorkspacePresenter(final EventBus eventBus, final MyView view, final MyProxy proxy, APIService apiService, EditorClientFactory editorFactory, @Assisted EntityLocator entityLocator) {
super(eventBus, view, proxy, ApplicationPresenter.TYPE_SetMainContent);
this.editorFactory = editorFactory;
this.apiService = apiService;
System.out.println("E Locator: " + entityLocator);
}
而且這是我想使用我廠(千萬別這雖然遠):
editorFactory.create(doc, domDoc);
有人能看到爲什麼這會發生?
我正在使用GWTP RC2,如果有幫助。
感謝,
凱西
您真棒!這是問題的重要組成部分,最終導致我需要做的事情。謝謝! – 2013-05-01 16:44:53