直连方式 dubbo
前置要求: 统一jdk版本,web.xml的版本必须是3.0以上,实体bean类必须实现序列化接口,dubbo只支持序列化的bean对象
测试要求: 必须先启动提供者服务,在启动消费者服务
目录结构:首先创建两个web工程,一个提供者,一个消费者,然后创建一个普通的java工程intaerface
0|1inferface工程:
目录结构:
1、创建实体bean,编写service接口
package com.GLH.dubbo.model; import java.io.Serializable; public class User implements Serializable { private Integer id; private String name; private Integer age; public String getName() { return name; } public void setName(String name) { this.name = name; } public Integer getAge() { return age; } public void setAge(Integer age) { this.age = age; } public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } }
package com.GLH.dubbo.service; import com.GLH.dubbo.model.User; public interface UserService { /** * @return 放回一个字符串 * * * */ String sayHello(); /** * @param id 根据这个值查询对象 * @return 根据id返回一个user对象 * * */ User queryUserById(int id); }
2、 打包到本地maven仓库
0|2提供者peovider:
目录结构
1、编写maven依赖:
导入interface工程的依赖
导入dubbo依赖
导入spring和springmvc依赖
2、编写service实现类
可以使用注解创建bean,扫描包,或者使用配置文件创建bean
package com.GLH.dubbo.service.impl; import com.GLH.dubbo.model.User; import com.GLH.dubbo.service.UserService; public class UserServiceImpl implements UserService { @Override public String sayHello() { return "hello dubbo"; } @Override public User queryUserById(int id) { User user = new User(); user.setId(id); user.setName("zhang"+id); user.setAge(10+id); return user; } }
3、编写dubbo配置文件:
存放在类路径下
编写内容:
1、声明dubbo服务提供者的名称,保证其唯一性
2、指定协议和端口,推荐使用dubbo协议端口默认为208880
3、创建实体bean交给spring的ioc容器管理
4、暴露服务接口
属性解析:
interface 依赖接口工程的接口类路径
ref 提供者工程中的实现类bean对象
registry 使用直连的方式连接,值默认为N/A
4、编写web.xml
1、编写context-param 加载dubbo的配置文件
2、编写监听器
0|3消费者工程consumer:
1、编写maven依赖:
导入interface工程的依赖
导入dubbo依赖
导入spring和springmvc依赖
2、编写webcontroller类:
1、调用提供者接口实现类,在webcontroller类中添加userservice属性并添加自动注入注解
2、编写controller平时编写的业务
3、编写springmvc配置文件
1、配置包扫描
2、配置视图解析器
4、编写dubbo配置文件
1、声明服务消费者的名称,保证他的唯一性
2、引用远程调用接口
属性解析:
id:为提供者工程spring容器管理的bean
interface:接口工程的接口类路径
registy: 直连方式
url: 调用远程接口服务的url地址
5、编写web.xml配置文件
1、编写dispatchservlet
这里初始化加载文件的时候,要加载dubbo的配置文件和springmvc的配置文件
0|4测试
编写两个tomcat配置启动,注意端口号不能重复
http端口和jmx的端口不能重复
1、启动提供者服务
2、启动消费者服务
3、测试业务是否能够正常访问消费者服务的方法
1|03、ssm使用注册中心-Zookeeper
项目结构大致一样
dubbo的配置文件做出一点改变就行
提供者:
<!-- 声明服务提供者名称,保证其唯一性--> <dubbo:application name="zk-provider"/> <!--配置服务端口--> <dubbo:protocol name="dubbo" port="20880"/> <!-- 指定注册中心--> <dubbo:registry address="zookeeper://192.168.2.10:2181" check="false"/> <!-- 暴露服务--> <dubbo:service interface="com.GLH.dubbo.service.UserService" ref="userService"/> <!-- 创建实体bean--> <bean id="userService" class="com.GLH.dubbo.service.impl.UserServiceImpl"/>
消费者
<!-- 声明服务消费者名称--> <dubbo:application name="zk-consumer"/> <!--指定注册中心--> <dubbo:registry address="zookeeper://192.168.2.10:2181"/> <!-- 引用远程接口服务--> <dubbo:reference id="userService" interface="com.GLH.dubbo.service.UserService"/>
__EOF__

本文链接:https://www.cnblogs.com/weizw/p/16164792.html
关于博主:评论和私信会在第一时间回复。或者直接私信我。
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 因为Apifox不支持离线,我果断选择了Apipost!
· 通过 API 将Deepseek响应流式内容输出到前端