spring dubbo集成(nacos dubbo)

springBoot整合dubbo集成 传统Spring整合dubbo,需要繁琐的编写一堆堆的*.xml配置文件 而springBoot整合dubbo后,不在需要写*.xml,通过jar包引用,完 成整合,通过注解的形式完成配置。提高我们的开发效率目录结构1服务层生产者开发(hs-ldm-server-service)1.1添加dubbo依赖包<dependencies><dependency><groupId>org.ap

大家好,又见面了,我是你们的朋友全栈君。

springBoot整合dubbo集成

	传统Spring 整合dubbo,需要繁琐的编写一堆堆的*.xml 配置文件
	而springBoot整合dubbo后,不在需要写*.xml,通过jar包引用,完
	成整合,通过注解的形式完成配置。提高我们的开发效率

目录结构
在这里插入图片描述
1 服务层生产者开发(hs-ldm-server-service)
1.1添加dubbo依赖包

<dependencies>
  <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-framework</artifactId>
        <version>2.8.0</version>
    </dependency>
    <dependency>
        <groupId>org.apache.curator</groupId>
        <artifactId>curator-recipes</artifactId>
        <version>2.8.0</version>
    </dependency>

		<dependency>
		    <groupId>com.alibaba.spring.boot</groupId>
		    <artifactId>dubbo-spring-boot-starter</artifactId>
		    <version>2.0.0</version>
		</dependency>
		
	<dependency>
		<groupId>com.alibaba</groupId>
		<artifactId>dubbo</artifactId>
		<version>2.6.1</version>
	</dependency>
	<dependency>
		<groupId>org.apache.zookeeper</groupId>
		<artifactId>zookeeper</artifactId>
		<version>3.4.6</version>
	</dependency>
	<dependency>
		<groupId>com.101tec</groupId>
		<artifactId>zkclient</artifactId>
		<version>0.9</version>
	</dependency>

如果不加curator-recipes和curator-framework依赖启动java.lang.NoClassDefFoundError: org/apache/curator/RetryPolicy 问题。
启动如果报错,请检查依赖版本是否过低!
1.2 配置application.properties
server.port=8050
#dubbo配置
spring.dubbo.application.name=hs-ldm-server-service
#注册中心地址
spring.dubbo.registry.address=zookeeper://192.168.228.52:2181
#配置了这个后,就会一直有守护京城,而不是启动就怪盗了
spring.dubbo.server=true
#扫描的包
spring.dubbo.scan=com.gy.ldm.server
#Dubbo Protocol
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=29999
spring.dubbo.protocol.version=1.0.0
#DemoService version
service.version=1.0.0
1.3服务类

package com.gy.ldm.server.service;

import org.springframework.stereotype.Component;

import com.alibaba.dubbo.config.annotation.Service;
@Component
@Service(version="${service.version}" ,interfaceClass = DubboServiceApi.class)
public class DubboService implements DubboServiceApi{ 
   

	public String getDubbo() { 
   
		// TODO Auto-generated method stub
		return "dubbo";
	}

}

@component (把对象实例化到spring容器中)
注意这里的service引用!(com.alibaba.dubbo.config.annotation.Service)
1.4 服务启动类

@SpringBootApplication
@EnableDubboConfiguration
public class LdmServerApp { 
   
	
	public static void main(String[] args) { 
   
		SpringApplication.run(LdmServerApp.class, args);
	}
}

加载成功
启动成功!
2.接入层消费者开发
添加依赖和服务层提供者依赖一样
2.1配置application.properties

server.port=8051
#dubbo配置
#服务名称
spring.dubbo.application.name=ldm-client
#注册中心地址
spring.dubbo.registry.address=zookeeper://192.168.228.52:2181 
#扫描的包
spring.dubbo.scan=com.gy.ldm.client
## DemoService version
service.version=1.0.0

2.2Controller层服务

package com.gy.ldm.client.controller;

import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.dubbo.config.annotation.Reference;
import com.gy.ldm.server.service.DubboServiceApi;

@Controller
public class TestController { 
   
	@Reference(version="${service.version}",check = false)
	private DubboServiceApi dubboServiceApi;
	@RequestMapping("customer")
	@ResponseBody
	public String customer(){ 
   
		
		return dubboServiceApi.getDubbo();
	}
}

2.3启动服务

package com.gy.ldm.client;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletComponentScan;

import com.alibaba.dubbo.spring.boot.annotation.EnableDubboConfiguration;



@EnableDubboConfiguration
@SpringBootApplication
public class LdmClientApp { 
   
	public static void main(String[] args) { 
   
		SpringApplication.run(LdmClientApp.class, args);
	}
}


3.测试访问
在这里插入图片描述
4.注册中心服务
在这里插入图片描述
可以看见提供者发布的服务

springboot整合dubbo项目会上传,可以在我主页去下载

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/127003.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 【深度学习】常见的神经网络层(上)

    【深度学习】常见的神经网络层(上)在深度学习中常见的神经网络层的讲解

    2025年10月4日
    2
  • 机器学习算法(15)之Xgboost算法

    机器学习算法(15)之Xgboost算法前言:前一篇文章对boosting的两个方法做了阐述,这篇文章将会是对前两篇文章的深化,谈的是一个更加优化了的boostIng算法,自从2014年9月份在Kaggle的希格斯玻色子机器学习大赛中夺魁以来,XGBoost与深度学习两个算法垄断了Kaggle大赛的大部分冠军。现在Kaggle大赛的情况基本是这样的,凡是非结构化数据相关,比如语音、图像,基本都是深度学习获胜,凡是结构化数据上…

    2022年4月29日
    52
  • java开发是什么_java开发到底是做什么的

    java开发是什么_java开发到底是做什么的1java开发到底是做什么的在互联网迅猛发展的时代,而我们如果对互联网一无所知,那就相当于文盲。所以很多人都想去了解它,去学习他。而作为互联网的产物——java,是一门非常不错的技术,学精通之后,你的未来不会再担心就业。那么下面小编给大家说说java开发到底是做什么的,希望能对你有些帮助。桌面级应用:尤其是需要跨平台的桌面级应用程序。桌面级应用:简单的说就是主要功能都在我们本机上运行的程序,比如w…

    2022年7月9日
    17
  • linux 句柄数限制_linux文件句柄数

    linux 句柄数限制_linux文件句柄数一个部署到linux下的中间件项目,当收到一个Client登录的时候,需要为这个Client打开四个文件,当进行多用户的大压力测试的时候,程序就出问题了:toomanyopenedfiles。网上一查,发现有人也碰到过类似的socket/File:Can’topensomanyfiles问题。在此总结一下这个问题,希望对后来之人有点帮助。解决之法:1,ulimit…

    2022年10月18日
    4
  • AspectJ教学

    AspectJ教学

    2021年12月3日
    39
  • Java实现静态代理[通俗易懂]

    Java实现静态代理[通俗易懂]使用静态代理时需要让目标对象和代理对象一起实现相同的接口或者继承相同的父类。这样做的目的就是为了通过调用代理对象中和目标对象相同的方法来实现调用目标对象的方法,从而达到代理的效果。第一步定义接口publicinterfaceIStatictProxy{voidprint();}第二步实现接口(目标对象)@Slf4jpublicclassTargetImplimplementsIStatictProxy{@Overridepublic

    2022年10月16日
    4

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号