我在使用Guice时使用DoSomeStuff(X.Y.Z)
和AbstractModule
类作为超类型在网上找到了示例。我想知道在Web应用程序的哪种情况下我需要使用哪一个。
我正在使用RESTful Web服务(使用Jersey),工件是一个WAR文件。
答案 0 :(得分:1)
ServletModule扩展了AbstractModule,因此只使用bind
,install
或@Provides
方法的常规绑定可以自由使用其中一种。但是,ServletModule还提供特定于servlet的绑定,特别是filter
和serve
(以及相应的变体filterRegex
和serveRegex
)将从configureServlets
调用。
在Guice中,模块不必指定它们使用哪些模块或作为依赖项使用;你可以自由地一起使用AbstractModule和ServletModule,他们可以依赖一个人和他人。绑定,只要它们安装在同一个Injector中。但是,您至少需要一个ServletModule来配置服务路径。
为Jersey REST服务提供支持的ServletModule示例:[link]