【问题标题】:Dependency injection in servlet on embedded Jetty嵌入式 Jetty 上 servlet 中的依赖注入
【发布时间】:2015-10-16 20:29:02
【问题描述】:

我嵌入了 Jetty 服务器并添加了 servlet 映射。

ServletContextHandler context = new ServletContextHandler();
context.setContextPath("/");
context.addServlet(RegisterServlet.class, "/user/register");

我想用spring框架配置ApplicationContext.xml在servlet中进行依赖注入。它应该和这里一样工作:

public class RegisterServlet extends HttpServlet {
private Service service;
@Override
public void init() throws ServletException {
    super.init();
    ApplicationContext context = new ClassPathXmlApplicationContext("ApplicationContext.xml");
    service = context.getBean("service", Service.class);
}

@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    ...
}

但不使用 context.getBean("service")。

【问题讨论】:

    标签: java spring servlets


    【解决方案1】:

    这样你就可以控制servlet实例化

    Server server = new Server(port);
    ServletHandler handler = new ServletHandler();
    handler.addServletWithMapping(new ServletHolder(new RegisterServlet()), "/user/register");
    server.setHandler(handler);
    server.start();
    

    所以现在您可以从某个 DI 容器中获取 servlet 实例

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-12-06
      • 2015-06-24
      • 1970-01-01
      • 1970-01-01
      • 2011-07-27
      • 1970-01-01
      • 2021-01-22
      相关资源
      最近更新 更多