Spring MVCの専門家にとっておそらく疑問な質問ですが、どのようにしてそれがうまく動作するのか分かりません。Spring MVCとGuiceを統合することは可能ですか?
同じ質問に対する別の言葉:Spring MVC内のSpring DIに依存することはありますか?
Spring MVCの専門家にとっておそらく疑問な質問ですが、どのようにしてそれがうまく動作するのか分かりません。Spring MVCとGuiceを統合することは可能ですか?
同じ質問に対する別の言葉:Spring MVC内のSpring DIに依存することはありますか?
IOCコンテナなしでSpring MVCを使用することはできません。
たとえば、Spring MVCの中心にはDispatcherServlet
があります。 DispatcherServletの は、これらのメソッドを使用して自身を初期化:
/**
* This implementation calls {@link #initStrategies}.
*/
@Override
protected void onRefresh(ApplicationContext context) {
initStrategies(context);
}
/**
* Initialize the strategy objects that this servlet uses.
* <p>May be overridden in subclasses in order to initialize
* further strategy objects.
*/
protected void initStrategies(ApplicationContext context) {
initMultipartResolver(context);
initLocaleResolver(context);
initThemeResolver(context);
initHandlerMappings(context);
initHandlerAdapters(context);
initHandlerExceptionResolvers(context);
initRequestToViewNameTranslator(context);
initViewResolvers(context);
}
だから、あなたが見ることができ、すべてがしっかりApplicationContext
インターフェースに統合されています。
だから、唯一のチャンスはApplicationContextのGuice実装を持つことです。これは非常に遠いものです。
Spring IOCコンテナを使用せずに、より基本的なSpring MVC機能を使用することは可能です。これは結局のところ、IoC全体のポイントです。
多くのSpring MVCコンポーネントはGuiceが知りませんが、Spring独自のライフサイクルコールバック(例:InitializingBean
とDisposableBean
)を使用しているため、これは難しいでしょう。あなたはそれらを自分で処理しなければならないでしょう。
なぜより良い質問がありますかあなたはこれをやりたいですか? Spring IoCを使用しないと、Spring MVCはその魅力の大部分を失います。なぜ私はあなたが他のものなしで1つを使いたいと思うのか分かりません。
私は雲の中でSpringを使う余裕がありません。新しいインスタンスを起動するには時間がかかります。フロントエンド開発にはMVCが必要です。もう一つのオプションは、Struts、Stripes、そして私自身の単純なMVCの実装です。 – Roman
Struts2はGuiceとうまく統合されています。私はStripesについても良いことを聞いたことがあります(Guiceとどのように統合されているかわかりません)。 –
サイド・バイ・サイドソリューション:http://www.earldouglas.com/guice-with-a-spring-twist
あなたは[グーグル-sitebricks](http://code.google.com/p/google-sitebricks/)を見て撮影したことがありますか? – ColinD