91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Springboot整合Dubbo之代碼集成和發布的示例分析

發布時間:2021-07-08 10:45:04 來源:億速云 閱讀:144 作者:小新 欄目:編程語言

這篇文章主要介紹了Springboot整合Dubbo之代碼集成和發布的示例分析,具有一定借鑒價值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

具體如下:

1. boot-dubbo-api相關

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

Springboot整合Dubbo之代碼集成和發布的示例分析

創建文件和包結構

User.java

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

package com.boot.service;
import com.boot.domain.User;
public interface TestService {
 String sayHello(String str);
 User findUser();
}

2. boot-dubbo-provider相關

首先我們先看看總共需要編寫的內容,文件的層次結構圖

Springboot整合Dubbo之代碼集成和發布的示例分析

boot-dubbo-provider項目結構圖

第一步:我們首先實現我們在boot-dubbo-api上定義的接口,創建一個TestServiceImpl類并實現TestService

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下創建一個config文件夾,在config下創建spring-dubbo.xml配置文件。

<?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的入口類,創建一個ProviderApplication.java文件。

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文件夾下面創建application.yml,Springboot的配置文件。

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

3. boot-dubbo-consumer相關

首先我們先看看總共需要編寫的內容,文件的層次結構圖

Springboot整合Dubbo之代碼集成和發布的示例分析

boot-dubbo-consumer項目結構圖

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

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下創建一個config文件夾,在config下創建spring-dubbo.xml配置文件。

<?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的入口類,創建一個ConsumerApplication.java文件。

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文件夾下面創建application.yml,Springboot的配置文件。

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

至此,代碼部分已經編寫完畢!!!

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

下載地址:zookeeper下載地址

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

Springboot整合Dubbo之代碼集成和發布的示例分析

zookeeper的下載

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

Springboot整合Dubbo之代碼集成和發布的示例分析

拷貝生成zoo.cfg文件

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

Springboot整合Dubbo之代碼集成和發布的示例分析

運行zkServer.cmd

點擊運行后出現如下圖所示

Springboot整合Dubbo之代碼集成和發布的示例分析

運行成功

5. 現在終于可以運行我們的項目了

先運行我們的ProviderApplication.java文件的main函數,再運行ConsumerApplication.java文件的main函數。

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

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

感謝你能夠認真閱讀完這篇文章,希望小編分享的“Springboot整合Dubbo之代碼集成和發布的示例分析”這篇文章對大家有幫助,同時也希望大家多多支持億速云,關注億速云行業資訊頻道,更多相關知識等著你來學習!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

肇源县| 贡山| 枝江市| 临江市| 文成县| 阿拉善左旗| 金秀| 韶山市| 宁德市| 石景山区| 云阳县| 荣成市| 平阳县| 汕头市| 沙湾县| 巴林右旗| 开阳县| 托克逊县| 鄂托克前旗| 汕尾市| 泸水县| 吴旗县| 柞水县| 历史| 庆阳市| 石河子市| 剑阁县| 上林县| 安宁市| 镇平县| 寿阳县| 滨海县| 台东县| 郧西县| 泽州县| 井研县| 嘉善县| 曲水县| 临猗县| 庆云县| 呈贡县|