GWTには独自の焼き付けDI機構(GWT.create(Class<?>)
)があるようです。 GINはこれに何のメリットをもたらしますか?あなたはそれらを互いに組み合わせて使うべきですか、それとも互いに排他的ですか?私はGuiceが好きなので、GINを使用するように誘惑されていますが、GWTがすでに同じことを箱から出していれば導入したくありません。GWT.create(クラス<?>)とGIN?
答えて
ジンとGWT.create
は、いくつかの違いがある - GWT.create
は実装の取得について具体的であるのに対しジンは、いずれかのフィールド、セッター、またはコンストラクタに、@Inject
注釈を介して依存関係を提供することについての詳細です。 Ginはあなたが提供する任意のコンストラクタを使用しますが、具体的には置換型を指定する必要がありますが、GWT.create
はデフォルトコンストラクタでのみ動作し、 'rebind rules'は正確である必要はなく、コンパイル時に作成されます。また、ユーザーが実行している環境を見て、Ginが実行できないルールに基づいて特定のルールセットを選択することもできます。
Ginは実際にGWT.create
を利用してこれらの他の機能を利用しています。ルールが定義されていない場合、Ginは自動的にGWT.create
を呼び出します。あなたはそのRPCコールを構築するためにGWT.create
を呼び出します
@Inject MyRemoteServiceAsync rpcService;
ジンのようなルールを持っている場合、これが意味しています。これは、UiBinder、エディタドライバ、I18nのメッセージと定数などにも有効です。
Guiceのことをよく理解していれば、Ginはあなたにとって大きな一歩となるはずはなく、直接呼び出すことができますGwT.create、または暗黙のうちにGinにそれを実行するよう依頼する。実際に、Ginを使用するには、GWT.create(MyGinjector.class)
に電話をかけてボールを回転させる必要があります。
GWT.create()
は、依存性注入とは関係ありません。 工場メソッドです。
GWT.create(SomeThing.class)
とnew SomeThing()
の唯一の違いは、正確なSomeThing
クラスを、いわゆるdeferred bindingを使用して置き換えることができることです。しかし、たとえばGWT.create()
オブジェクトに依存関係を提供することについては、GWT.create()
には何もありません。
- 1. Ginでインスタンス化するGWT.createで作成する
- 2. #<#<クラス:0xa8930c8>:0xa578cf8>
- 3. Javaのクラス<?>とクラス<Object>の違い
- 4. ジェネリックとクラス<?列挙型<?>>、class.getEnumConstants対EnumSet.allOf(クラス)()拡張
- 5. CINを使用すると、>>とcoutの<<クラスC++
- 6. クラス<code>FirstViewController</code>でNSUserDefaults
- 7. <code>Cube</code>クラスのJava
- 8. なぜs4クラスのスロットとしてクラス定義を設定できないのですか?クラスと</p> <blockquote> <p>リスト "htest"</p> </blockquote> <p>ので、実際に<code>"htest"</code>がパッケージに定義された<em>正式</em>クラスではありません。
- 9. ジャワ - のArrayList <>とLinkedListは<> - クラス識別子
- 10. WPF:</p> <pre><code><controls:BaseUserControl x:Class="CompanyNamespace.Controls.GoogleMap" </code></pre> <p>:ユーザーコントロールの基本クラス
- 11. Java - クラス<? Collection>
- 12. "クラスA:B <C>"と "クラスA <T>:B <T>のT:C"の違いは何ですか?
- 13. クラス<?>をクラス<T>にキャストする方法は?
- 14. スプリング(ブート)<em>スプリングブート</em>、<em>スプリング</em> MVCと<em>春データ</em>一クラス(<em>MongoDBのデータベースとして</em>で)に使用したWebアプリケーションを考えると同じクラス
- 15. ゴージン-フレームワーク:私は<a href="https://github.com/gin-gonic/gin" rel="nofollow">the README of gin framework</a>( ":クエリ+投稿フォーム別の例"):でコード例をしようとしているのcURL
- 16. は私が<strong>B</strong>と<strong>C</strong>あるwchichクラスAを継承する抽象クラス<strong></strong>と2クラスを持っているが継承したクラス
- 17. GWT、GuiceとGINコンパイル
- 18. 混乱は、私はクラス<strong></strong>とインナークラス<strong>A.B</strong>を有する
- 19. は、私は、属性<code>title</code>と<code>author</code>と方法私<code>Book</code>クラスで<code>_str_</code>を定義したクラス
- 20. Eclipseクラスのデザイナーとデザイン<--> Javaソースバインディング
- 21. 暗号化クラスとリスト<T>
- 22. Google GINメソッドとは何ですか:bind(Classクラス)
- 23. .NET:WebBrowser、WebClient、WebRequest、HTTPWebRequest ... ARGH!</p> <ul> <li>WebブラウザーとWebクライアント</li> <li>WebRequestクラスおよびHttpWebRequestの</li> <li>にWebResponseとHttpWebResponseの</li> </ul> <p>者:System.Net名前空間で
- 24. <thead><th>と<tbody>
- 25. 関数定義、私は<strong>ボックス</strong>と呼ばれるクラスが<strong>Entitiyエンティティで</strong></p> <p>、私は<code>getWeight()</code>機能を持つ基本クラスから継承したテンプレート
- 26. クラス<? extends T>用法
- 27. Options.Applicative、(<>)、Monoid型クラス
- 28. getBeansOfType(クラス<T>タイプ)
- 29. jSoupが<span>クラス
- 30. HTMLクラスwith <select>