Java 嵌入式Tomcat7将Spring应用程序上下文传递给servlet
我想将web接口添加到Java应用程序中,以便可以使用HTTP操作它的状态 我已经为启动嵌入式Tomcat的某个类向应用程序上下文添加了一个Springbean。这个类当然可以访问创建它的上下文。但我希望以某种方式将此上下文存储在Tomcat类(org.apache.catalina.startup.Tomcat)中,以便稍后可以在servlet中检索,这样我就可以执行以下操作:Java 嵌入式Tomcat7将Spring应用程序上下文传递给servlet,java,spring,tomcat,servlets,Java,Spring,Tomcat,Servlets,我想将web接口添加到Java应用程序中,以便可以使用HTTP操作它的状态 我已经为启动嵌入式Tomcat的某个类向应用程序上下文添加了一个Springbean。这个类当然可以访问创建它的上下文。但我希望以某种方式将此上下文存储在Tomcat类(org.apache.catalina.startup.Tomcat)中,以便稍后可以在servlet中检索,这样我就可以执行以下操作: public SomeClass extends extends HttpServlet {
public SomeClass extends extends HttpServlet {
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
ApplicationContext appContext = getContextStoredEarlierInTomcatClass();
SomeBeanFromContext sbfc = appContext.getBean("sbfc", ApplicationContext.class);
sbfc.setSomeProperty(newValue);
}
}
你知道我怎样才能做到吗
谢谢 包含servlet的类不需要
ApplicationContext
来获取对字符串bean的引用。这是使用依赖项注入完成的
@Controller
@RequestMapping("/mypage")
public class SomeClass {
@Autowired
private SomeBeanFromContext sbfc;
@RequestMapping(value = "/individualRequest", method = RequestMethod.GET)
public String doIndividualRequest(HttpServletRequest request) {
sbfc.setSomeProperty(newValue);
...
}
}
提供使用@controller
注释类将bean注入目标web控制器类的完整方法