使用 Spring 容器管理 Servlet

2014-11-24 12:13:47 · 作者: · 浏览: 3

Servlet 可否也能像 Struts1/2 的 action 那样作为一个 javaBean 在 Spring 容器里进行管理呢?答案是肯定的。


this.setOperationService((OperationService) wac.getBean("operationService"));//Spring 配置 中的 bean id


这样子违背了 Spring 依赖注入的思想。那么如何才可以不在代码中显式调用这个 bean id,而把 bean id 直接写在配置文件中呢?


本文用一个项目中使用的例子介绍了将 Servlet 和业务对象的依赖关系使用 Spring 来管理,而不用再在 Servlet 中硬编码要引用对象的名字。


如同 Struts1/2 的配置一样,Spring 在 web.xml 中的配置:


如同一般的 Struts1/2 的 action 一样在我们的 Servlet 中注入 service:


在 Servlet 中如同一般的 Struts1/2 的 action 一样调用 service:


如同一般的 Servlet 我们的这个 Servlet 需要继承 GenericServlet 或者 HttpServlet: