我在使用Guice的同时使用AbstractModuleServletModule类作为超级类型在网络上找到了示例。我想知道在Web应用程序的哪种情况下需要使用哪一种。

我正在使用RESTful Web服务(使用Jersey),并且工件是WAR文件。

最佳答案

ServletModule扩展了AbstractModule,因此仅使用bindinstall@Provides方法的常规绑定可以自由使用其中一个。但是,ServletModule还提供了特定于servlet的绑定,尤其是要从filter调用的servefilterRegex(具有相应的变体serveRegexconfigureServlets)。

在Guice中,模块不必指定与之一起使用或用作依赖关系的模块。您可以自由地一起使用AbstractModule和ServletModule,并且只要它们安装在同一Injector中,它们就可以依赖彼此的绑定。但是,您至少需要一个ServletModule来配置服务路径。

一个为Jersey REST服务提供动力的ServletModule的示例:[link]

07-27 18:22