2013-06-21 46 views
0

我想将Web接口添加到我的Java应用程序中,以便我可以使用HTTP操纵它的状态。嵌入式Tomcat 7将Spring应用程序上下文传递给servlets

我已经为应用程序上下文添加了一个用于启动嵌入式Tomcat的类的Spring bean。这门课程可以访问创建它的上下文。但我想保存此背景下以某种方式在Tomcat中类(org.apache.catalina.startup.Tomcat),以便以后可以在Servlet的检索,这样我可以做这样的事情:

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); 
      }  
    } 

任何想法如何实现它?

谢谢!

回答

0

包括Servlets在内的类不需要ApplicationContext来获得对String 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); 
     ... 
    } 
} 

Spring MVC提供注入豆成使用@Controller注释类目标的网络控制器类的完整方法来完成。

相关问题