分布式项目14 使用dubbo进行系统之间的通信,不用jsonp

使用jsonp技术,前端的ajax需要把方法的datatype写成jsonp,并且在controller类中返回值类型是jsonPObject,这个是特有的java的api,用于jsonp技术。

分布式项目可以使用dubbo框架。
第一步:导入dubbo依赖

<!--引入dubbo配置 -->
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>

第二步:
编辑服务provider,在公共模块创建dubbo接口
在jt-common中创建:

//定义dubbo自己的接口
public interface DubboUserService {
}

第三步:在相关模块中去创建接口实现类。

package com.jt.service;
import org.springframework.beans.factory.annotation.Autowired;
import com.alibaba.dubbo.config.annotation.Service;
import com.jt.mapper.UserMapper;
//这是dubbo的实现类
@Service
public class DubboUserServiceImpl implements DubboUserService {
@Autowired
private UserMapper userMapper;
}

这里的注解是com.alibaba.dubbo.config.annotation.Service;是dubbo的注解。

第四步:在接口实现类中的项目里面修改application.yml文件

dubbo:
scan:
basePackages: com.jt
application:
name: provider-user
registry:
address: zookeeper://192.168.126.129:2181?
backup=192.168.126.129:2182,192.168.126.129:2183
protocol:
name: dubbo
port: 20880

表示这个是一个provider

第五步:编辑服务消费者
UserController:说明:编辑jt-web的UserController实现接口的注入.

import com.alibaba.dubbo.config.annotation.Reference;
import com.jt.service.DubboUserService;
@Controller
@RequestMapping("/user")
public class UserController {
//引入dubbo配置
@Reference(check=false) //消费者启动时暂时不检查服务是否有提供者.
private DubboUserService userService;
....
}

@Reference(check=false) //消费者启动时暂时不检查服务是否有提供者.启动接口,需要专门的dubbo注解
import com.alibaba.dubbo.config.annotation.Reference;
import com.jt.service.DubboUserService;
第六步:编辑消费者的YML配置,说明:配置jt-web的application.yml文件文章来源地址https://uudwc.com/A/qeg3

dubbo:
scan:
basePackages: com.jt
application:
name: consumer-user
registry:
address: zookeeper://192.168.126.129:2181?
backup=192.168.126.129:2182,192.168.126.129:2183

原文地址:https://blog.csdn.net/qq_38757863/article/details/131119473

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请联系站长进行投诉反馈,一经查实,立即删除!

h
上一篇 2023年06月17日 06:21
下一篇 2023年06月17日 06:21