要使用gwt-dispatch,我们创建一个对象,如:
private static final DispatchAsync dispatchAsync = GWT.create(DefaultDispatchAsync.class);
有没有办法用注入做这个,我的意思是如何将这个DispatchAsync对象注入我们需要使用它的其他类.
这与@Inject注释有关!
我有以下构造函数(作为测试):
CREATE TABLE product (id BIGSERIAL PRIMARY KEY, ext hstore);
CREATE INDEX ix_product_ext ON product USING GIN(ext);
INSERT
INTO    product (id, ext)
SELECT  id, ('size=>' || CEILING(10 + RANDOM() * 90) || ',mass=>' || CEILING(10 + RANDOM() * 90))::hstore
FROM    generate_series(1, 100000) id;
我有以下查询,它可以正常工作:
SELECT  COUNT(id)
FROM    (
    SELECT  id
    FROM    product
    WHERE  (ext->'size')::INT >= 41
    AND    (ext->'mass')::INT <= 20
) T
但我相信正确的方法是使用@>运算符.我有以下内容,但它给出了语法错误:
SELECT  COUNT(id)
FROM    (
    SELECT  id
    FROM    product
    WHERE  ext @> 'size>=41,mass<=20'
) T
我该怎么写呢?
我有以下代码
public class AppGinModule extends AbstractGinModule{
    @Override
    protected void configure() {
        bind(ContactListView.class).to(ContactListViewImpl.class);
        bind(ContactDetailView.class).to(ContactDetailViewImpl.class);
    }
}
@GinModules(AppGinModule.class) 
public interface AppInjector extends Ginjector{
    ContactDetailView getContactDetailView();
    ContactListView getContactListView();
}
在我的切入点
AppInjector appInjector = GWT.create(AppGinModule.class);
appInjector.getContactDetailsView();
这ContactDetailView总是绑定ContactsDetailViewImpl.但我希望ContactDetailViewImplX在某些条件下与之结合.
我怎样才能做到这一点?请帮助我.
我正在使用GWT(GW的MVP框架)和GWT 2.3.我想与我的演示者一起使用GWT代码分割.
我知道@ProxyCodeSplit演示者中的注释.如下
@ProxyCodeSplit
@UseGatekeeper(LoggedInGatekeeper.class)
public interface MyProxy extends Proxy<MainPagePresenter> {
}
这够了吗?或者我是否需要挖掘出A call to GWT.runAsync类似于此处的 GWT Code Splitting
在变量上使用Inject我有点失落.
我得到了这段代码:
private XXServiceAsync xxServiceAsync;
@Inject
protected IndexViewImpl(EventBus eventBus, XXServiceAsync tableManagementServiceAsync) {
    super(eventBus, mapper);
    this.xxServiceAsync = xxServiceAsync;
    initializeWidgets();
}
使用这段代码,我可以在类中的任何地方调用我的RPC服务(点击...)我想通过直接注入变量来清除一些代码; 这样做 :
@Inject
private XXServiceAsync xxServiceAsync;
protected IndexViewImpl(EventBus eventBus) {
    super(eventBus, mapper);
    initializeWidgets();
}
这始终使Service保持为NULL.难道我做错了什么 ?带有rpc服务的GIN魔法是否意味着要做其他事情?
谢谢!
问题:我在GWT客户端有一个类型为T的泛型超类,子类是在运行时生成的(使用GIN),初始化泛型参数,是否可以在运行时检索具体子类的泛型参数类型?
我可以在JRE环境中获取实际类型(使用Class.getGenericSuperclass和Class.getActualTypeArguments),但是我不知道如何在GWT环境中执行此操作,我搜索一些GWT 3rd反射库,看起来它们都不支持此功能.是否有可能在运行时从GWT获取通用参数类型?如果没有,任何解决方法?
非常感谢.
我发现了一个项目:gwt-preprocessor,它在编译时生成反射信息,对某些情况非常有用.
我通常在我的GWT项目中有这种代码模式:
Menu errorMenu = new Menu(user, userController, -1);
Menu  searchMenu = new Menu(user, userController, 0);
errorView.setMenu(errorMenu);
searchView.setMenu(searchMenu);
如何使用Gin/Guice Menu在ErrorView其他"视图"中注入实例:
public ErrorView implements View {
 // Inject menu instance here
 private Menu menu;
}
这样,我不必手动创建和设置对象?
同样对于Menu类,我如何注入"user"和"userController"对象,这样每次实例化时我都不必在每个Menu实例上传递它.
GWT中的provider和AsyncProvider有什么区别.我的理解是两者都用于代码分割和延迟实例化.所以我无法决定,在哪种情况下我们选择Provider而不是AsyncProvider?
提前致谢!
我刚刚开始学习Go。
我需要将杜松子酒模式设置为释放模式。我该怎么办?现在,当我运行我的API时,会有这样的提示:
[GIN-debug] [WARNING] Running in "debug" mode. Switch to "release" mode in production.
 - using env:   export GIN_MODE=release
 - using code:  gin.SetMode(gin.ReleaseMode)
我尝试了gin.SetMode(gin.ReleaseMode),但是它不起作用。我在这里初始化路由器:
gin.SetMode(gin.releaseMode)    
router := gin.Default()
使用Google Guice或Gin我可以指定参数不受依赖注入框架控制:
class SomeEditor {
  @Inject
  public SomeEditor(SomeClassA a, @Assisted("stage") SomeClassB b) {
  }
}
辅助参数stage在SomeEditor创建实例时指定.
SomeClassA的实例取自对象图,SomeClassB的实例在运行时从调用者获取.
在Dagger中有类似的方法吗?
gwt-gin ×10
gwt ×7
guice ×3
java ×2
dagger ×1
dagger-2 ×1
generics ×1
go ×1
go-gin ×1
gwt-dispatch ×1
gwt-platform ×1
gwtp ×1
inject ×1
postgresql ×1
reflection ×1
sql ×1