Dubbo 03: 直连式 + 接口工程( 三 )

  • web.xml
    <?xml version="1.0" encoding="UTF-8"?><web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd"version="4.0"><servlet><servlet-name>dispatcherServlet</servlet-name><servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class><init-param><param-name>contextConfigLocation</param-name><param-value>classpath:application.xml classpath:dubbo-link-consumer.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>dispatcherServlet</servlet-name><url-pattern>*.do</url-pattern></servlet-mapping></web-app>
  • 返回给前端的响应页面:userDetail.jsp
    <%@ page contentType="text/html;charset=UTF-8" language="java" %><html><head><title>用户详情页</title></head><body><div>用户id:${user.id}</div><div>用户名:${user.name}</div><div>用户年龄:${user.age}</div><div>用户数量:${userCount}</div></body></html>
  • 测试
    • 将服务提供者工程和消费者工程部署到tomcat上并运行
      Dubbo 03: 直连式 + 接口工程

      文章插图
    • 运行结果
      Dubbo 03: 直连式 + 接口工程

      文章插图
    分析
    • 优点:
    • 在直连式的基础上引入了接口工程,其中包含实体类和待提供的服务的接口,定义了可以提供哪些服务
    • 服务者工程只要在其pom文件中引入对上述接口工程的依赖 , 对待提供的服务进行实现即可
    • 消费者工程只要在其pom文件中引入对上述接口工程的依赖,对所提供的服务进行申请访问即可
    • 上述接口工程的使用很好的隔离了服务消费者和服务提供者之间的耦合,在二者之间搭建了一个沟通调用的桥梁
    • 缺点:
    • 当提供的服务较多时,对服务者提供的服务以及消费者可以申请的服务不太好管理,无法对现有服务种类进行很好的统计与管理

    推荐阅读