gpt4 book ai didi

java - 将 Guice 依赖注入(inject)添加到 web.xml 中配置的 Servlet

转载 作者:行者123 更新时间:2023-11-30 03:14:56 24 4
gpt4 key购买 nike

我在一个项目中使用 Guice 将依赖项注入(inject)到 Servlet 中。我们有一个定义了serve().with()配置的ServletModule。这一切都运行良好。

我现在需要能够包含一个带有 web.xml 中定义的 servlet 的 web 应用程序。所有文档都说将 GuiceFilter 添加到 web.xml,然后使用 ServletModule 中的programattic 配置,但我想知道是否可以让 Guice 将依赖项注入(inject)到 web.xml 中配置的 servlet 中?

我希望能够在 web.xml 中定义 servlet,例如:

 <servlet>
<servlet-name>test</servlet-name>
<servlet-class>TestServlet</servlet-class>
<servlet>

创建 servlet 时,容器仅调用无参数构造函数。是否可以更改此行为,以便 Guice 创建 servlet 并在创建时注入(inject)?

最佳答案

injector.injectMembers(obj) 显式设置 @Inject 字段:

@Inject Foo foo;

TestServlet()
{
// wherever your injector instance is defined
...getInjector().injectMembers(this);
}

The docs推荐getInjector().getMembersInjector().injectMembers() 虽然我没用过这个。

关于java - 将 Guice 依赖注入(inject)添加到 web.xml 中配置的 Servlet,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32879185/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com