初识Dubbo(直连方式)
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(直连方式)相关推荐
- Dubbo——初识RPC、Dubbo框架、使用直连方式实现Dubbo
文章目录: 1.RPC & 软件架构 1.1 单一应用架构 1.2 分布式微服务架构 1.3 RPC 2.Dubbo概述 2.1基本架构 2.2 dubbo支持的协议 3.直连方式实现dubb ...
- Dubbo---使用直连方式 dubbo
目录 一.直连方式 实现方式: (1)创建服务提供者 A.在pom.xml中加入依赖和插件 B.创建实体类:User.java C.新建服务接口:UserService.java D.新建接口实现类: ...
- dubbo consumer 端口_基于Springboot+Dubbo+Nacos 注解方式实现微服务调用
今天跟大家分享基于Springboot+Dubbo+Nacos 注解方式实现微服务调用的知识. 1 项目结构 |-- spring-boot-dubbo-demo (父级工程) |-- spring- ...
- 用JDBC直连方式访问SQL Server 2005详解
用JDBC直连方式访问SQL Server 2005详解 1.安装JDK,配置其环境变量:(笔者所用版本为1.6版) (1)从官方网http://java.sun.com/jdk下载安装文件. (2) ...
- kafka直连方式消费多个topic
一个消费者组可以消费多个topic,以前写过一篇一个消费者消费一个topic的,这次的是一个消费者组通过直连方式消费多个topic,做了小测试,结果是正确的,通过查看zookeeper的客户端,zoo ...
- dubbo consumer 端口_初识Dubbo
如果你是做java开发的,或多或少你都应该听说过dubbo,那dubbo是个什么玩意?你在网页中输入dubbo点击搜索,会出来一堆结果,但是带官网标签的只有一个,那就是Apache Dubbo,进入网 ...
- Spring boot配置Dubbo三种方式
方式一 使用注解的方式 导入dubbo-starter 在application.properties配置属性 使用@Service暴露服务 使用@Reference引用服务 使用@EnableDub ...
- dubbo直连、只订阅、只注册
1 直连 在开发及测试环境下,经常需要绕过注册中心,只测试指定服务提供者,这时候可能需要点对点直连,点对点直联方式,将以服务接口为单位,忽略注册中心的提供者列表, A接口配置点对点,不 ...
- AD10 如何在规则中设置过孔铺铜直连方式
一.过孔铺铜如何设置为直连 Pcb 铺铜后, 过孔via 有时为十字连接,可以通过增加rules 使 Via 与 gad 直接相连Design> rules, 弹出如下界面, 选择 Plane& ...
最新文章
- 单链表-删除单链表L中第一个值为x的结点的前驱结点(三指针法)
- Android内存分析和调优
- sublime c 语言 编译环境搭建,详解sublime搭建C/C++编译环境
- the code place where the binding is converted to final value displayed in ui
- 催人泪下!一个程序员的悲惨故事
- 沙盘模拟软件_3D电子心理沙盘系统
- 在线HTML实体转字符串工具
- 昆仑通态复制的程序可以用吗_第478期丨相同功能带定时器的PLC程序怎么简化?非标设备出口到日本,应该怎么配电。...
- Struts2 通配符
- C++课程设计--人民币大小写转换器(MFC)
- 袁国宝:从“人口红利”到“人才红利”,我们的机会在哪?
- GIS100-02 ArcGIS提取道路中心线
- css3 cale()属性介绍以及自适应布局使用方法
- 坐标转换程序:(1)四参数和七参数的计算
- todolist从无到有
- c语言windows画五角星,C/C++画一个巨型五角星
- 人工智能----八数码问题(启发式搜索)
- RS485自收发实现方案,典型应用电路及问题经验总结
- linux 命令 ls
- 1.1 C++小游戏——创造世界