Dubbo直连方式具体步骤实现

  • 1、创建服务提供者
    • 1.1、创建maven web工程
    • 1.2、整理pom文件,添加spring依赖和dubbo依赖和jdk1.8编译插件
    • 1.3、在src/main目录下创建java和resources资源文件夹
    • 1.5、创建dubbo核心配置文件(spring的xml配置文件)
    • 1.6、web.xml中创建监听器
    • 1.7、配置Tomcat修改端口
    • 双击ctrl进行打包
  • 2、创建服务消费者
    • 2.2、整理pom文件,添加spring依赖、dubbo依赖、服务提供者jar包和jdk1.8编译插件
    • 2.3、在src/main目录下创建java和resources资源文件夹
    • 2.4、创建dubbo核心配置文件和springmvc配置文件(spring的xml配置文件)
    • 2.5、编写controller
    • 2.6、配置中央调度器
    • 2.7创建jsp页面
    • 测试:

1、创建服务提供者

1.1、创建maven web工程

1.2、整理pom文件,添加spring依赖和dubbo依赖和jdk1.8编译插件

maven中央仓库地址
下面是完整的pom.xml

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.why</groupId><artifactId>ch03-service-provide</artifactId><version>1.0</version><packaging>war</packaging><dependencies><!--spring依赖--><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.12</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.12</version></dependency><!--dubbo依赖--><dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>2.6.2</version></dependency></dependencies><build><plugins><!--jdk1.8编译插件--><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
</project>

1.3、在src/main目录下创建java和resources资源文件夹

选中文件夹右键 >> Mark Directory as

1.4、创建实体类,服务接口和接口实现类
实体类

public class Student implements Serializable{private Integer id;private String name;private boolean sex;private Integer age;getter和setter方法;
}

服务接口

public interface StudentService {Student QueryById(Integer id);
}

接口实现类

public class StudentServiceImp implements StudentService {/*这里只是为了模拟dubbo的直连方式,为了方便就省略了dao层用student对象来模拟dao层返回的数据@AutowiredStudentDao studentDao;*/@Overridepublic Student QueryById(Integer id) {Student student = new Student();student.setId(001);student.setName("张三");student.setSex(true);student.setAge(20);return student;}
}

1.5、创建dubbo核心配置文件(spring的xml配置文件)

a.声明dubbo服务提供者名称:保证唯一
b.声明dubbo使用的协议和端口
c.暴露服务(直连方式)

dubbo核心配置文件全部代码:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd"><!--声明dubbo服务提供者名称:保证唯一--><!--选择dubbo.apache.org的那个--><dubbo:application name="StudentService-provide"/><!--声明dubbo使用的协议和端口,dubbo官方推荐使用的协议为dubbo,端口号默认为20880--><dubbo:protocol name="dubbo" port="20880"/><!--暴露服务(直连方式)--><!--暴露服务标签<dubbo:service>interface:暴露的服务接口的全限定类名ref:接口引用的实现类在spring中的标识registry:如果不使用注册中心(使用直连方式),则值为N/A    --><dubbo:service interface="com.why.service.StudentService" ref="StudentService" registry="N/A"/><bean id="StudentService" class="com.why.service.serviceImp.StudentServiceImp"/>
</beans>

1.6、web.xml中创建监听器

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><context-param><param-name>contextConfigLocation</param-name><param-value>classpath:dubbo-service-provide.xml</param-value></context-param><listener><listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener>
</web-app>

1.7、配置Tomcat修改端口

双击ctrl进行打包

打包前先注释掉<packaging>war</packaging>标签,打包完成后放开注释
输入mvn ch03-service-provide install

服务提供者就创建好了,接下来创建服务消费者

2、创建服务消费者

2.1、创建maven web工程

2.2、整理pom文件,添加spring依赖、dubbo依赖、服务提供者jar包和jdk1.8编译插件

<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.why</groupId><artifactId>ch04-service-consumer</artifactId><version>1.0</version><packaging>war</packaging><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>5.3.12</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.3.12</version></dependency><dependency><groupId>com.alibaba</groupId><artifactId>dubbo</artifactId><version>2.6.2</version></dependency><dependency><groupId>com.why</groupId><artifactId>ch03-service-provide</artifactId><version>1.0</version></dependency></dependencies><build><plugins><!--jdk1.8编译插件--><plugin><artifactId>maven-compiler-plugin</artifactId><version>3.1</version><configuration><source>1.8</source><target>1.8</target></configuration></plugin></plugins></build>
</project>

2.3、在src/main目录下创建java和resources资源文件夹

2.4、创建dubbo核心配置文件和springmvc配置文件(spring的xml配置文件)

创建dubbo核心配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd"><!--声明dubbo服务提供者名称:保证唯一--><!--选择dubbo.apache.org的那个--><dubbo:application name="StudentService-consumer"/><!--引用远程服务接口<dubbo:reference>标签id;远程服务接口对象名称interface:调用远程服务接口的全限定名称url:访问服务接口的地址 dubbo规定用dubbo://+ip地址+端口号registey:直连N/A--><!--由于我这是用一台电脑模拟两台服务器,所以ip地址填了localhost--><dubbo:reference id="userService" interface="com.why.service.StudentService" url="dubbo://localhost:20880" registry="N/A"/>
</beans>

创建springMVC的配置文件

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:context="http://www.springframework.org/schema/context"xmlns:mvc="http://www.springframework.org/schema/mvc"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context https://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/mvc https://www.springframework.org/schema/mvc/spring-mvc.xsd"><!--配置组件扫描器--><context:component-scan base-package="com.why.controller"/><!--配置注解驱动--><!--选mvc结尾的--><mvc:annotation-driven/><!--配置视图解析器--><bean class="org.springframework.web.servlet.view.InternalResourceViewResolver"><property name="prefix" value="/"/><property name="suffix" value=".jsp"/></bean>
</beans>

2.5、编写controller

@Controller
public class Mycontroller {@ResourceStudentService studentService;@RequestMapping("")public String studnetQuery(Model model, Integer id){Student student = studentService.QueryById(id);model.addAttribute("student",student);return "student";}
}

2.6、配置中央调度器

<!DOCTYPE web-app PUBLIC"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN""http://java.sun.com/dtd/web-app_2_3.dtd" ><web-app><display-name>Archetype Created Web Application</display-name><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-service-consumer.xml</param-value></init-param></servlet><servlet-mapping><servlet-name>DispatcherServlet</servlet-name><url-pattern>/</url-pattern></servlet-mapping>
</web-app>

2.7创建jsp页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@page isELIgnored="false" %>
<html>
<head><title>Title</title>
</head>
<body>学生id=${student.id}<br>学生name=${student.name}<br>学生age=${student.age}
</body>
</html>

测试:

初识Dubbo(直连方式)相关推荐

  1. Dubbo——初识RPC、Dubbo框架、使用直连方式实现Dubbo

    文章目录: 1.RPC & 软件架构 1.1 单一应用架构 1.2 分布式微服务架构 1.3 RPC 2.Dubbo概述 2.1基本架构 2.2 dubbo支持的协议 3.直连方式实现dubb ...

  2. Dubbo---使用直连方式 dubbo

    目录 一.直连方式 实现方式: (1)创建服务提供者 A.在pom.xml中加入依赖和插件 B.创建实体类:User.java C.新建服务接口:UserService.java D.新建接口实现类: ...

  3. dubbo consumer 端口_基于Springboot+Dubbo+Nacos 注解方式实现微服务调用

    今天跟大家分享基于Springboot+Dubbo+Nacos 注解方式实现微服务调用的知识. 1 项目结构 |-- spring-boot-dubbo-demo (父级工程) |-- spring- ...

  4. 用JDBC直连方式访问SQL Server 2005详解

    用JDBC直连方式访问SQL Server 2005详解 1.安装JDK,配置其环境变量:(笔者所用版本为1.6版) (1)从官方网http://java.sun.com/jdk下载安装文件. (2) ...

  5. kafka直连方式消费多个topic

    一个消费者组可以消费多个topic,以前写过一篇一个消费者消费一个topic的,这次的是一个消费者组通过直连方式消费多个topic,做了小测试,结果是正确的,通过查看zookeeper的客户端,zoo ...

  6. dubbo consumer 端口_初识Dubbo

    如果你是做java开发的,或多或少你都应该听说过dubbo,那dubbo是个什么玩意?你在网页中输入dubbo点击搜索,会出来一堆结果,但是带官网标签的只有一个,那就是Apache Dubbo,进入网 ...

  7. Spring boot配置Dubbo三种方式

    方式一 使用注解的方式 导入dubbo-starter 在application.properties配置属性 使用@Service暴露服务 使用@Reference引用服务 使用@EnableDub ...

  8. dubbo直连、只订阅、只注册

    1 直连         在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连,点对点直联方式,将以服务接口为单位,忽略注册中心的提供者列表, A接口配置点对点,不 ...

  9. AD10 如何在规则中设置过孔铺铜直连方式

    一.过孔铺铜如何设置为直连 Pcb 铺铜后, 过孔via 有时为十字连接,可以通过增加rules 使 Via 与 gad 直接相连Design> rules, 弹出如下界面, 选择 Plane& ...

最新文章

  1. 单链表-删除单链表L中第一个值为x的结点的前驱结点(三指针法)
  2. Android内存分析和调优
  3. sublime c 语言 编译环境搭建,详解sublime搭建C/C++编译环境
  4. the code place where the binding is converted to final value displayed in ui
  5. 催人泪下!一个程序员的悲惨故事
  6. 沙盘模拟软件_3D电子心理沙盘系统
  7. 在线HTML实体转字符串工具
  8. 昆仑通态复制的程序可以用吗_第478期丨相同功能带定时器的PLC程序怎么简化?非标设备出口到日本,应该怎么配电。...
  9. Struts2 通配符
  10. C++课程设计--人民币大小写转换器(MFC)
  11. 袁国宝:从“人口红利”到“人才红利”,我们的机会在哪?
  12. GIS100-02 ArcGIS提取道路中心线
  13. css3 cale()属性介绍以及自适应布局使用方法
  14. 坐标转换程序:(1)四参数和七参数的计算
  15. todolist从无到有
  16. c语言windows画五角星,C/C++画一个巨型五角星
  17. 人工智能----八数码问题(启发式搜索)
  18. RS485自收发实现方案,典型应用电路及问题经验总结
  19. linux 命令 ls
  20. 1.1 C++小游戏——创造世界

热门文章

  1. 如何在vs2008,vs2010的解决方案管理器中快速定位文件位置
  2. 【Vue学习-element-ui】用户信息列表的实现
  3. InDesign 教程如何更改内容颜色?
  4. 银行数据资产的理解及盘点
  5. 实验四:配置端口聚合提供冗余备份链路
  6. docker 操作记录-3
  7. kaggle r语言_kaggle第三名解决方案拼图多语言毒性评论分类
  8. 博奥智源科技,ERP系统项目功能架构分享
  9. SpringBoot--->>>指标监控-->>定制 Endpoint 信息
  10. 数字化工业4.0柔性智能制造生产线实训系统