REST服务中的SpringContext

时间:2017-05-01 08:39:24

标签: java spring rest servlets

通常我们在servlet中使用Spring上下文如下

WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(servlet.getServletContext());
SomeBean someBean = (SomeBean) ctx.getBean("someBean");

但是在使用注释声明的REST服务中实际上并不是servlet。所以我们没有得到getServletContext()

如何处理?

答案 1)通过将context作为参数传递给方法

@GET
@Path("/create")
@Produces(MediaType.TEXT_PLAIN)
public String createCustomer(@Context ServletContext servletContext){

2)其他解决方案是使用ApplicationContextAware 解释here

1 个答案:

答案 0 :(得分:0)

要获取应用程序上下文,您可以使用服务实现ApplicationContextAware。然后,当创建服务时,Spring将调用setApplicationContext方法为您提供应用程序上下文。在该方法中,您可以存储提供的上下文以供以后使用。