Servlet 调用 Spring 容器的 service

                 

Servlet 调用 Spring 容器的 service

        自定义(继承自 javax.servlet.http.HttpServlet)的 Servlet 如何像 Struts1/2 中那样调用 Spring 容器的 service 呢?
        如同 Struts1/2 的配置一样,Spring 在 web.xml 中的配置及其 application*.xml 配置不变:
        web.xml 中:

 <listener>  <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>


 

 <context-param>  <param-name>contextConfigLocation</param-name>  <param-value>/WEB-INF/applicationContext*.xml</param-value> </context-param>



        applicationContext-service.xml 中:

 <bean id="operationService"  class="com.defonds.cds.service.operation.impl.OperationServiceImpl" scope="singleton"> </bean>



        如同一般的 Servlet 的配置一样,Servlet 在 web.xml 中的配置不变:

 <servlet>  <servlet-name>downloadServlet</servlet-name>  <servlet-class>com.defonds.cds.common.ArcSyncDownloadServlet</servlet-class> </servlet>  <servlet-mapping>  <servlet-name>downloadServlet</servlet-name>  <url-pattern>/file</url-pattern> </servlet-mapping> 



        如同一般的 Struts1/2 的 action 一样注入 service:

 private OperationService operationService = nullpublic OperationService getOperationService() {  return operationService; } public void setOperationService(OperationService operationService) {  this.operationService = operationService; }



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

 FileInfo fileInfo = this.getOperationService().getFileByFidAndSecret(Long.parseLong(fileId), secret);



        唯一需要修改的是 Servlet 的 init 方法:

    public void init(ServletConfig config) throws ServletException {     super.init(config);     ServletContext servletContext = this.getServletContext();     WebApplicationContext wac = null;      wac = WebApplicationContextUtils.getRequiredWebApplicationContext(servletContext);     this.setOperationService((OperationService) wac.getBean("operationService"));//Spring 配置 中的 bean id    } 



        这是一种办法。还有一种办法就是使用 Spring 将 Servlet 及其业务对象的依赖关系都管理起来,详细说明请参阅作者另一篇博客《使用 Spring 容器管理 Servlet》。  

           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值