一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術(shù)及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - 詳解Springboot整合Dubbo之代碼集成和發(fā)布

詳解Springboot整合Dubbo之代碼集成和發(fā)布

2021-03-06 13:30Magogo Java教程

本篇文章主要介紹了Springboot整合Dubbo之代碼集成和發(fā)布,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

本文介紹了springboot整合dubbo之代碼集成和發(fā)布,分享給大家,具體如下:

1. boot-dubbo-api相關(guān)

打開boot-dubbo-api項目,正在src/main/java下創(chuàng)建一個包,并創(chuàng)建你需要dubbo暴露的接口testservice.java,并創(chuàng)建一個實體類用于測試user.java。如下圖所示:

詳解Springboot整合Dubbo之代碼集成和發(fā)布

創(chuàng)建文件和包結(jié)構(gòu)

user.java

?
1
2
3
4
5
6
7
8
9
10
11
package com.boot.domain;
import lombok.data;
import java.io.serializable;
@data
public class user implements serializable {
 private integer id;
 private string username;
 private string password;
 private integer age;
 private integer gender;
}

testservice.java

?
1
2
3
4
5
6
package com.boot.service;
import com.boot.domain.user;
public interface testservice {
 string sayhello(string str);
 user finduser();
}

2. boot-dubbo-provider相關(guān)

首先我們先看看總共需要編寫的內(nèi)容,文件的層次結(jié)構(gòu)圖

詳解Springboot整合Dubbo之代碼集成和發(fā)布

boot-dubbo-provider項目結(jié)構(gòu)圖

第一步:我們首先實現(xiàn)我們在boot-dubbo-api上定義的接口,創(chuàng)建一個testserviceimpl類并實現(xiàn)testservice

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
package com.boot.service.impl;
import com.alibaba.dubbo.config.annotation.service;
import com.boot.domain.user;
import com.boot.service.testservice;
import java.text.simpledateformat;
import java.util.date;
@service(version = "1.0.0")
public class testserviceimpl implements testservice {
 
 @override
 public string sayhello(string str) {
  simpledateformat dateformat = new simpledateformat("yyyy-mm-dd hh:mm:ss");
  return dateformat.format(new date()) + ": " + str;
 }
 
 @override
 public user finduser() {
  user user = new user();
  user.setid(1001);
  user.setusername("scott");
  user.setpassword("tiger");
  user.setage(20);
  user.setgender(0);
  return user;
 }
}

注意:代碼里的@service注解是com.alibaba.dubbo.config.annotation.service的。

第二步:在resources下創(chuàng)建一個config文件夾,在config下創(chuàng)建spring-dubbo.xml配置文件。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?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://code.alibabatech.com/schema/dubbo"
  xsi:schemalocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans.xsd
  http://code.alibabatech.com/schema/dubbo
  http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
 
 <dubbo:application name="provider"/>
 <!-- 注冊中心的ip地址 -->
 <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
 <!-- 掃描注解包路徑,多個包用逗號分隔,不填pacakge表示掃描當前applicationcontext中所有的類 -->
 <dubbo:annotation package="com.boot.service.impl"/>
</beans>

第三步:在com.boot包下新建springboot的入口類,創(chuàng)建一個providerapplication.java文件。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package com.boot;
import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;
import org.springframework.context.annotation.importresource;
import java.io.ioexception;
@springbootapplication
@importresource({"classpath:config/spring-dubbo.xml"})
public class providerapplication {
 public static void main(string[] args) {
  springapplication.run(providerapplication.class, args);
  try {
   system.in.read();
  } catch (ioexception e) {
   e.printstacktrace();
  }
 }
}

第四步:最后在resources文件夾下面創(chuàng)建application.yml,springboot的配置文件。

?
1
# 在這里編寫springboot的配置信息

3. boot-dubbo-consumer相關(guān)

首先我們先看看總共需要編寫的內(nèi)容,文件的層次結(jié)構(gòu)圖

詳解Springboot整合Dubbo之代碼集成和發(fā)布

boot-dubbo-consumer項目結(jié)構(gòu)圖

第一步:編寫我們的controller控制類,在com.boot.controller包下新建一個testcontroller類,編寫訪問地址。

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
package com.boot.controller;
import com.alibaba.dubbo.config.annotation.reference;
import com.boot.domain.user;
import com.boot.service.testservice;
import org.springframework.web.bind.annotation.getmapping;
import org.springframework.web.bind.annotation.requestmapping;
import org.springframework.web.bind.annotation.restcontroller;
@restcontroller
@requestmapping("/")
public class testcontroller {
 @reference(version = "1.0.0")
 private testservice testservice;
 
 @getmapping("hello")
 public string hello() {
  return testservice.sayhello("hello springboot and dubbo!");
 }
 
 @getmapping("user")
 public user user() {
  return testservice.finduser();
 }
}

第二步:在resources下創(chuàng)建一個config文件夾,在config下創(chuàng)建spring-dubbo.xml配置文件。

?
1
2
3
4
5
6
7
8
9
10
11
12
<?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://code.alibabatech.com/schema/dubbo"
  xsi:schemalocation="http://www.springframework.org/schema/beans
  http://www.springframework.org/schema/beans/spring-beans.xsd
  http://code.alibabatech.com/schema/dubbo
  http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
 <dubbo:application name="consumer"/>
 <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
 <dubbo:annotation package="com.boot.controller"/>
</beans>

第三步:在com.boot包下新建springboot的入口類,創(chuàng)建一個consumerapplication.java文件。

?
1
2
3
4
5
6
7
8
9
10
11
package com.boot;
import org.springframework.boot.springapplication;
import org.springframework.boot.autoconfigure.springbootapplication;
import org.springframework.context.annotation.importresource;
@springbootapplication
@importresource({"classpath:config/spring-dubbo.xml"})
public class consumerapplication {
 public static void main(string[] args) {
  springapplication.run(consumerapplication.class, args);
 }
}

第四步:最后在resources文件夾下面創(chuàng)建application.yml,springboot的配置文件。

?
1
2
3
4
# 在這里編寫springboot的配置信息
server:
 port: 8080
 context-path: /

至此,代碼部分已經(jīng)編寫完畢?。。?/p>

4. 安裝zookeeper注冊中心到電腦中

下載地址 zookeeper下載地址

點擊后下載適合自己的版本,如圖所示

詳解Springboot整合Dubbo之代碼集成和發(fā)布

zookeeper的下載

下載完畢后,解壓縮該文件,進入conf文件夾,拷貝一份zoo_sample.cfg,在該目錄生成zoo.cfg文件。

詳解Springboot整合Dubbo之代碼集成和發(fā)布

拷貝生成zoo.cfg文件

進入bin目錄,運行zkserver.cmd文件。

詳解Springboot整合Dubbo之代碼集成和發(fā)布

運行zkserver.cmd

點擊運行后出現(xiàn)如下圖所示

詳解Springboot整合Dubbo之代碼集成和發(fā)布

運行成功

5. 現(xiàn)在終于可以運行我們的項目了

先運行我們的providerapplication.java文件的main函數(shù),再運行consumerapplication.java文件的main函數(shù)。

打開瀏覽器訪問
http://localhost:8080/hello
http://localhost:8080/user

好了,激動人心的時刻到了,我們終于完成了springboot和dubbo的集成了。

項目地址:springboot-dubbo項目github地址

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:https://www.jianshu.com/p/0837b48d1691

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产精品久久久久久久免费大片 | 97自拍视频在线观看 | 精品小视频在线 | 欧美一级片在线看 | 精品视频免费在线 | free chinese麻豆 | ysav67| bl双性受乖调教改造身体 | 亚洲国产在线播放 | 98色花堂永久地址国产精品 | 男女激情网 | 午夜影院0606 | 狠狠五月天中文字幕 | 国产在线91 | chinese帅男gayvideo| 国产精品久久久久久吹潮 | 天天狠天天透天干天天怕处 | 99九九国产精品免费视频 | 欧美透逼视频 | ffee性xxⅹ另类老妇hd | 男人晚上适合偷偷看的污污 | 日本69av | 99久视频| 久久这里只有精品无码3D | 国产精品特黄毛片 | 日韩精品视频在线播放 | 日韩a一级欧美一级 | 成人永久免费福利视频网站 | 精品国偷自产在线 | 欧美国产在线视频 | 国产精品99久久免费观看 | 国产成人精品实拍在线 | 欧美在线成人免费国产 | 亚洲熟区 | 成人依依网 | 寡妇一级毛片 | 我要看免费毛片 | 毛片一区二区三区提莫影院 | 2018亚洲男人天堂 | 小舞丝袜调教喷水沦为肉奴 | 我与恶魔的h生活ova |