springBoot+dubbo+nacos_springboot2.2.5+dubbo2.7.3+nacos2 支持nacos开启认证-程序员宅基地

技术标签: spring  java  dubbo  

1.引入

    <properties>
        <dubbo-spring-boot-starter.version>2.7.5</dubbo-spring-boot-starter.version>
        <dubbo-registry-nacos.version>2.7.5</dubbo-registry-nacos.version>
        <spring-cloud-starter-alibaba-nacos-config.version>2021.1</spring-cloud-starter-alibaba-nacos-config.version>
    </properties>

	<dependencies>
	   <!-- dubbo引入-->
	   <dependency>
	       <groupId>org.apache.dubbo</groupId>
	       <artifactId>dubbo-spring-boot-starter</artifactId>
	       <version>${dubbo-spring-boot-starter.version}</version>
	   </dependency>
	   <dependency>
	       <groupId>org.apache.dubbo</groupId>
	       <artifactId>dubbo-registry-nacos</artifactId>
	       <version>${dubbo-registry-nacos.version}</version>
	   </dependency>

		<!-- nacos引入-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
	   
	</dependencies>

2.配置文件

dubbo:
  # 配置服务信息
  application:
    name: ${
    spring.application.name}
    # 禁用QOS同一台机器可能会有端口冲突现象
    qos-enable: false
    qos-accept-foreign-ip: false
  # 配置注册中心
  registry:
    address: ${
    DUBBO_REGISTRY_ADDR:nacos://172.168.1.1:32000}
  # 设置超时时间
  consumer:
    timeout: 4000
  # 设置协议-协议由提供方指定消费方被动接受。如果该应用只做消费者可不要此配置
  protocol:
    name: dubbo
    port: 20880

spring:
  main:
    # 解决Bean重复定义问题
    allow-bean-definition-overriding: true

3.启动类加注解@EnableDubbo

@EnableDubbo
@EnableDiscoveryClient
@EnableAsync(proxyTargetClass = true)
@EnableFeignClients
@SpringBootApplication
public class ProjectApplication {
    
    public static void main(String[] args) {
    
        SpringApplication.run(ProjectApplication.class, args);
    }
}

4.编写接口和实体类供生产者和消费者使用

public interface IProviderService {
    
    /**
     * 获取地图列表
     *
     * @return
     */
    List<ProviderTestDTO> queryList();
}
@Getter
@Setter
@Accessors(chain = true)
@ApiModel(description = "dubbo测试调用实体类,必须实现接口Serializable ")
public class ProviderTestDTO implements Serializable {
    

    @ApiModelProperty(value = "id")
    private Integer id;

    @ApiModelProperty(value = "名字")
    private String name;

    @ApiModelProperty(value = "时间")
    private Date time;
}

5.生产者实现接口

import org.apache.dubbo.config.annotation.Service;

//注意@Service是org.apache.dubbo.config.annotation.Service
@Service
public class ProviderServiceImpl implements IProviderService {
    
    @Override
    public List<ProviderTestDTO> queryList() {
    
        final List<ProviderTestDTO> list = new ArrayList<>();
        list.add(new ProviderTestDTO()
                .setTime(new Date())
                .setId(1)
                .setName("名字"));
        return list;
    }
}

6.消费者使用

@Api(value = "TestDubboController", tags = "dubbo调用测试")
@RestController
@RequestMapping("/v1/dubbo")
public class TestDubboController {
    

    @Reference
    private IProviderService providerService;

    @ApiOperation(value = "测试dubbo调用")
    @GetMapping("/list")
    public APIResponse<List<MapListResponseBean>> list() {
    
        final List<ProviderTestDTO> providerTestDTOS = providerService.queryList();
        return APIResponseUtils.success(providerTestDTOS);
    }

}
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/code_agent/article/details/119042194

智能推荐

3D点云系列(一)点云介绍_点云数据-程序员宅基地

文章浏览阅读4.9k次。点云数据简介 点云数据(point cloud data)是指在一个三维坐标系统中的一组向量的集合。扫描资料以点的形式记录,每一个点包含有三维坐标,有些可能含有颜色信息(RGB)或反射强度信息(Intensity)。 我们常用的点云数据为激光雷达采集的数据,激光雷达的非接触式测量特点,具有测量速度快、精度高、识别准确等优点,成为移动机器人定位导航的核心传感器。在激光雷达技术领域中,目前主要通过三角测距法与TOF方法来进行测..._点云数据

python匿名函数的好处_Python之匿名函数如何理解?-程序员宅基地

文章浏览阅读393次。常规我们定义函数时,函数都是有名字的,比如:def add(x,y):return x+y这个函数是有名字的,叫add,我们在使用的时候直接调用即可:print(add(3,2))那么匿名函数呢,经常看一些代码会出现类似lambda(x,y:x+y),那么我们该如何去理解匿名函数呢?我们先看定义:匿名函数:根据名字就可以知道,被定义的函数是没有名字的;lambda是一个表达式而不是一个语句。它能够..._匿名函数的优点

SpringCloud OAuth2 登录加入图形验证码_spring-cloud-starter-oauth2 增加验证码-程序员宅基地

文章浏览阅读445次。throw new ValidateCodeException("验证码不存在,请重新获取");throw new ValidateCodeException("验证码不能为空,请输入验证码");if(!throw new ValidateCodeException("验证码不匹配");这边是把验证码放到session里面,目前认证服务没有集群,后期如果集群的话,可以放入Redis。_spring-cloud-starter-oauth2 增加验证码

Lombok @Slf4j log对象没有info等方法 不可用解决方法_lombok.extern.slf4j.slf4j-程序员宅基地

文章浏览阅读6.1k次,点赞22次,收藏25次。一、Lombook插件没安装(几率很小)可能是idea没有安装lombook插件导致的,去plugin里面安装下Lombok插件就可以了,但是几率很小,高版本idea可以直接排除。二、SpringBoot的项目依赖冲突排除 原因一 后可能是由于日志实现在springboot的starter中已经有了,但是又导入了logback-classic,排除冲突问题。三、普通项目如果你只导入了Lombook 那么你只是导入了日志的门面,你还需要导入日志的实现<dependency> &_lombok.extern.slf4j.slf4j

CentOS7配置本地yum源 和yum源服务器_failure: repodata/6d0c3a488c282fe537794b5946b01e28-程序员宅基地

文章浏览阅读1.5k次。CentOS7配置本地yum源 和yum源服务器_failure: repodata/6d0c3a488c282fe537794b5946b01e28c7f44db79097bb06826e1c0c88

结合语义不变量的点线立体视觉SLAM系统_tartanair-程序员宅基地

文章浏览阅读191次。作者:鱼骨 | 来源:3D视觉工坊在公众号「3D视觉工坊」后台,回复「原论文」即可获取论文pdf。添加微信:dddvisiona,备注:SLAM,拉你入群。文末附行业细分群。摘要传统的同步定位与制图(SLAM)系统使用环境的静态点作为实时定位和制图的特征。当可用的点特征很少时,系统很难实现。一个可行的解决方案是引入线特征。在包含丰富线段的复杂场景中,线段的描述差别不大,这可能导致线段数据的不正确..._tartanair

随便推点

kicad绿油开窗_KiCad里Pcbnew中各层的使用说明-程序员宅基地

文章浏览阅读581次。Kicad里Pcbnew提供了至多50个层供电路板设计师使用。总计32个铜层供导线走线(可覆铜)总计14个固定用途技术层12个技术层对(上技术层和下技术层对称),包括Adhesive,Solder Paste,Silk Screen,Solder Mask,Courtyard,Fabrication,共计6对。在KiCad里Pcbnew的层描述中,F.代表电路板上层(Front),B.代..._kicad铜开窗

浅谈逆向——OD断点简介(OD的使用3)_od断电需要过检测吗-程序员宅基地

文章浏览阅读7.6k次,点赞4次,收藏27次。浅谈逆向-OD断点简介常用断点INT 3断点硬件断点常用断点INT 3断点,硬件断点,内存断点,消息断点…INT 3断点常用,OD中可以使用bp命令或F2快捷键来设置/取消。当执行一个INT 3断点时,该地址处的内容被调试器用INT 3替换了。此时OD将INT 3隐藏起来,显示中断前的指令。由于INT 3指令的机器码时0xCC故此 也常称之为CC指令。当被调试进程执行INT 3指令导致一..._od断电需要过检测吗

Introduction to Causal Inference:Chapter 1因果推断概论-程序员宅基地

文章浏览阅读1.1k次,点赞2次,收藏12次。本文是学习brady neal于2020年开设的因果推断课程Introduction to Causal Inference的记录概述本chapter主要分四个部分:辛普森悖论为什么相关性不是因果关系什么展示了因果关系在观测性研究中如何发现因果关系1 因果推断的动机:辛普森悖论1.1 辛普森悖论案例辛普森悖论(Simpson‘s paradox)是广泛存在于统计学事件的一个现象,指的是分组下的统计表现与总体统计表现相悖。这里举了一个例子,假设有一个新的疾病:COVID-27有两种_introduction to causal inference

TensorFlow学习笔记(9)--使用CNN做英文文本分类任务_cnn中variable embedding already exists-程序员宅基地

文章浏览阅读1.5w次,点赞11次,收藏46次。文中代码是实现在TensorFlow下使用卷积神经网络(CNN)做英文文本的分类任务(本次是垃圾邮件的二分类任务),当然垃圾邮件分类是一种应用环境,模型方法也可以推广到其它应用场景,如电商商品好评差评分类、正负面新闻等。_cnn中variable embedding already exists

AV1 码流分析器的搭建_av1码流分析工具-程序员宅基地

文章浏览阅读2.3k次。作为HEVC比较热门的继承者,AOM推进的AV1在2018年进入了大家的视野。研究AV1的新编码工具离不开一个强大的码流分析工具。AOM 得益于开源社区的贡献,其码流分析工具也在同步的推出,给研究AV1新编码工具的小伙伴带来省去不少麻烦。本文主要简单介绍一下如何搭建一个本地的AV1码流分析工具以及在大家过程中遇到的问题。1. AV1码流分析工具简单介绍AV1码流分析工..._av1码流分析工具

Vue兄弟组件间传值 之 事件总线,八年Web前端开发心路历程-程序员宅基地

文章浏览阅读365次,点赞3次,收藏5次。其实前端开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。这里再分享一个复习的路线:(以下体系的复习资料是我从各路大佬收集整理好的)《前端开发四大模块核心知识笔记》最后,说个题外话,我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。