GWT에는 자체 구워진 DI 메커니즘 (GWT.create(Class<?>)
)이있는 것 같습니다. GIN이 제공하는 이점은 무엇입니까? 서로를 함께 사용해야합니까? 아니면 상호 배타적입니까? Guice를 좋아해 GIN을 사용하고 싶지만 GWT가 이미 동일한 기능을 수행하고 있다면 소개하고 싶지는 않습니다.GWT.create (클래스 <?>) 대 GIN?
답변
Gin과 GWT.create
에는 몇 가지 차이점이 있습니다. Gin은 필드, 설정자 또는 생성자에 대한 @Inject
주석을 통해 종속성을 제공하는 것에 대한 것입니다. 반면 GWT.create
은 구현을 구체적으로 가져 오는 것입니다. Gin은 사용자가 제공하는 생성자를 사용하지만 대체 형식을 구체적으로 제공해야합니다. 반면 GWT.create
은 기본 생성자에서만 작동하며 '리 바인드 규칙'은 매우 정확할 필요가 없으며 새 클래스를 생성 할 수도 있습니다. 컴파일 할 때 생성됩니다. 또한 사용자가 어떤 환경을 실행 중인지 살펴보고이를 기반으로 특정 규칙 집합을 선택할 수 있습니다. Gin은이를 수행 할 수 없습니다.
진은 실제로 다른 기능을 사용하기 위해 GWT.create
을 사용합니다. 규칙이 정의되어 있지 않으면 진은 GWT.create
을 자동으로 호출합니다. 해당 RPC 호출을 구축 GWT.create
를 호출
@Inject MyRemoteServiceAsync rpcService;
진 같은 규칙이 경우는 것을 의미한다. 이것은 UiBinder, 편집기 드라이버, I18n 메시지 및 상수 등에서도 작동합니다.
Guice가 이미 이해하고 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. GWT-GIN 대 Raw Guice
- 2. Google GIN 방법 : bind (클래스 클래스)
- 3. PHP 클래스 : :: 대 -> -?
- 4. <span> 대 대 <area>
- 5. GWT-GIN 다중 구현?
- 6. 레일 ERB <%- ... -%> 대 <% ... %>
- 7. <applet> 대 <object>
- 8. # <# <클래스 : 0xa8930c8> : 0xa578cf8>
- 9. 클래스 QWebView의 차이점은 무엇입니까? 대 # 포함 <QWebView>
- 10. event_base * 대 <event_base>
- 11. SortedList <K,V> 대 SortedDictionary <K,V> 대 사전 <K,V>
- 12. <asp:Table> 대 html <table>
- 13. <nav> 대 <article> SEO
- 14. <button> 대 <input type = "image">
- 15. Expression.LessThan 대 LambdaExpression <Func <ParamType, object >>
- 16. Ivy : <ivy : settings> 대 <ivy : configure>
- 17. ActionScript MXML <mx:> 대 <s:>
- 18. XSD <element><complexType><sequence> 대 <element><sequence>
- 19. 추상 클래스 대 클래스
- 20. GWT GIN 필드 레벨 주입
- 21. ArrayAdapter <HashMap<,,>> commonsguy EndlessAdapter 클래스 사용
- 22. 차이점 <span></span> 대 CSS의 경우 <span/>?
- 23. 큐 <byte> 대 스트림
- 24. StringDictionary 대 사전 <string, string>
- 25. LinkedList의 목록 대 <T>
- 26. NameValueCollection은 사전 대 <문자열, 문자열>
- 27. java.util.Properties 대 java.util.Map <String, String>
- 28. Qt-Q_OBJECT 대 #include <QObject>
- 29. JAXBElement <Boolean> 대 boolean
- 30. 디버그 대 IsDebugEnabled (동작 <FormatMessageHandler>)