[Java] 在JBoss中从一个servlet访问Spring bean


Answers

有一个更复杂的方法来做到这一点。 org.springframework.web.context.support中有SpringBeanAutowiringSupport ,它允许你构建如下的东西:

public class MyServlet extends HttpServlet {

  @Autowired
  private MyService myService;

  public void init(ServletConfig config) {
    super.init(config);
    SpringBeanAutowiringSupport.processInjectionBasedOnServletContext(this,
      config.getServletContext());
  }
}

这将导致Spring查找绑定到该ServletContextApplicationContext (例如通过ContextLoaderListener创建),并注入该ApplicationContext可用的Spring Bean。

Question

我想在JBoss中编写一个简单的servlet来调用Spring bean上的方法。 其目的是让用户通过点击一个URL来启动一个内部工作。

在servlet中获取对Spring bean的引用最简单的方法是什么?

JBoss Web服务允许您使用@Resource注释将WebServiceContext注入到您的服务类中。 在普通的servlet中有什么可比的吗? 解决这个问题的网络服务就是使用大锤压碎坚果。