相关疑难解决方法(0)

使用Servlet 3.0构造函数依赖注入?

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

@Inject
public MyServlet(SomeDependency sd) {  // Constructor
  ...
}
Run Code Online (Sandbox Code Playgroud)

问题:

  • 是否有可能"手动"构建一个servlet实例而没有createServlet?(new MyServlet())
  • 是否可以使用Java EE服务器的依赖注入机制来执行构造函数注入?怎么做?或者像Guice一样需要单独的DI框架?

java servlets dependency-injection

8
推荐指数
1
解决办法
2942
查看次数

使用Servlet配置Spring Ioc

我是Spring的新手,想把spring ioc连接到我的小(测试)web-app.

我有这样的Servlet ProductServlet:

public class ProductServlet extends HttpServlet{
    private static final long serialVersionUID = 1L;
    private RequestHelper requestHelper;

    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        processRequest(request);
    }

    private void processRequest(HttpServletRequest request){
        requestHelper.process(request);
    }

    public RequestHelper getRequestHelper() {
        return requestHelper;
    }

    public void setRequestHelper(RequestHelper requestHelper) {
        this.requestHelper = requestHelper;
    }

}
Run Code Online (Sandbox Code Playgroud)

和我的web.xml:

  <servlet>
    <servlet-name>ProductServlet</servlet-name>
    <servlet-class>com.epam.productshop.controller.ProductShop</servlet-class>
  </servlet>
  <servlet-mapping>
    <servlet-name>ProductServlet</servlet-name>
    <url-pattern>/ProductServlet</url-pattern>
  </servlet-mapping>

     <listener>
      <listener-class>
        org.springframework.web.context.ContextLoaderListener
      </listener-class>
   </listener>

    <context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>
            /WEB-INF/spring-config.xml
        </param-value>
    </context-param>
Run Code Online (Sandbox Code Playgroud)

而且我有这样的弹簧配置xml:

<bean id="factory" class="com.epam.productshop.readerfactory.ReaderFactory">
    <property …
Run Code Online (Sandbox Code Playgroud)

java spring servlets

3
推荐指数
1
解决办法
2503
查看次数

标签 统计

java ×2

servlets ×2

dependency-injection ×1

spring ×1