gpt4 book ai didi

java - Servlet 3.0 的构造函数依赖注入(inject)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:47:43 24 4
gpt4 key购买 nike

从 Servlet 3.0 开始,可以使用 javax.servlet.ServletContext#addServlet 以编程方式注册 Servlet 实例。这个类还有一个 createServlet 方法,它分析一些注释并执行依赖注入(inject)。我在想如果不需要注解处理是否需要这个方法。我想要一个带有常用构造函数的 servlet,以通过依赖项注入(inject)设置所需的依赖项。

@Inject
public MyServlet(SomeDependency sd) { // Constructor
...
}

问题:

  • 是否可以在不使用 createServlet 的情况下“手动”构建 servlet 实例? (new MyServlet())
  • 是否可以使用 Java EE 服务器的依赖注入(inject)机制来执行构造函数注入(inject)?怎么做?或者是否需要像 Guice 这样的独立 DI 框架?

最佳答案

最近的 Java EE 6 标准现在支持 servlet 的依赖注入(inject),相关部分称为 JSR-299 或 CDI。 JSR-299 引用实现,JBoss weld ,如果您不想使用像 glassfish v3 这样的完整 Java EE 6 应用程序服务器,也可以部署到像 Tomcat 或 Jetty 这样的 servlet 容器中,例如

顺便说一句,通过嵌入式 Jetty 服务器,您可以使用其自定义 API 添加预配置的 servlet 实例。

关于java - Servlet 3.0 的构造函数依赖注入(inject)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1992132/

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