SpringBoot+Dubbo的註解方式整合例項
1.在linux中各個包的bin目錄下啟動zookeeper註冊中心,monitor監控中心和tomcat,命令如下:
(1)zookeeper:./zkServer.sh start
(2) monitor:./server.sh start
(3)tomcat:./startup.sh
SpringBoot-dubbo-provider配置:
2.在ideal中建立springboot-dubbo-provider的spring包,
在provider的pom檔案中引入如下依賴:
<dependency>
<groupId>com.qiuzelin</groupId>
<artifactId>dubbo-interface</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
其中,依賴為dubbo的介面依賴和springboot整合dubbo的依賴。
3.配置provider的application.yml檔案
dubbo的provider應用名,註冊中心名和地址,以及dubbo所用埠號。
dubbo:
application:
name: springboot-dubbo-provider
registry:
protocol: zookeeper
address: 192.168.157.128:2181
protocol:
port: 28801
4.在main方法的類中加入@EnableDubbo註解:
@SpringBootApplication
@EnableDubbo
public class SpringbootDubboProviderApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootDubboProviderApplication.class, args);
}
}
5.建立serviceimpl實現自interface介面(在本部落格Dubbo分散式框架實戰中的 interface介面):
package com.qiuzelin.springbootdubboprovider.service;
import com.alibaba.dubbo.config.annotation.Service;
import com.qiuzelin.service.IUserService;
import org.springframework.stereotype.Component;
/**
* Created with IntelliJ IDEA.
*
* @Auther: qiuzelin
* @Date: 2020/09/30/11:05
* @Description:
*/
@Component //表明這是spring元件,受到spring管理,因為下面的service是dubbo的service
@Service //dubbo的service,不是spring的service,用來發布服務
public class UserServiceImpl implements IUserService {
@Override
public String hello() {
return "springboot+dubbo";
}
}
注意:此處@Service註解為dubbo的包,用@Component來代替原spring的@Service註解,用來實現Spring管理。
SpringBoot-dubbo-consumer配置:
6.配置consumer的pom檔案:
加入dubbo的介面依賴和阿里巴巴旗下dubbo對springboot的依賴包
<dependency>
<groupId>com.qiuzelin</groupId>
<artifactId>dubbo-interface</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.alibaba.boot</groupId>
<artifactId>dubbo-spring-boot-starter</artifactId>
<version>0.2.0</version>
</dependency>
7.配置comsumer的application.yml檔案:
dubbo的consumer應用名稱,註冊中心名和地址等。
dubbo:
application:
name: consumer-boot-anotation
registry:
protocol: zookeeper
address: 192.168.157.128:2181
8.同樣的,在main方法的類中加入@EnableDubbo註解:
@SpringBootApplication
@EnableDubbo
public class SpringbootDubboConsumerApplication {
public static void main(String[] args) {
SpringApplication.run(SpringbootDubboConsumerApplication.class, args);
}
}
9.在consumer的測試類中進行測試:
package com.qiuzelin.springbootdubboconsumer;
import com.alibaba.dubbo.config.annotation.Reference;
import com.qiuzelin.service.IUserService;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class SpringbootDubboConsumerApplicationTests {
@Reference
private IUserService iUserService;
@Test
void contextLoads() {
System.out.println(iUserService.hello());
System.in.read();
}
}
其中@Reference用來注入分散式的遠端服務物件,要配合dubbo配置使用。
10.執行provider的main方法和consumer的test方法:
登入dubbo的虛擬機器發布地址192.168.157.128:8088後發現後臺服務有服務提供者,服務消費者和監控中心:
其中:
監控中心地址來自虛擬機器地址(192.168.157.128:7070),
服務提供者(192.168.157.1:28801)和服務消費者(192.168.157.1)地址來自本機地址。
相關文章
- spring boot使用註解的方式整合mybaitsSpring BootAI
- Spring中用註解建立bean例項SpringBean
- 在 NgModule 裡透過依賴注入的方式註冊服務例項依賴注入
- Redis詳解 - SpringBoot整合Redis,RedisTemplate和註解兩種方式的使用RedisSpring Boot
- 【Spring Boot架構】整合Mybatis-Plus的例項詳解Spring Boot架構MyBatis
- Spring Boot 整合 FreeMarker 例項Spring Boot
- java反射方式建立例項Java反射
- 自定義註解例項實現SQL語句生成SQL
- ActiveMQ的使用及整合spring的使用例項MQSpring
- Android生成ViewModel例項的幾種方式AndroidView
- 本地SSH方式連線例項
- Hibernate 註解方式
- Java獲取Class物件的方式和例項化物件的方式Java物件
- Springboot整合mybatis框架(含例項Demo)Spring BootMyBatis框架
- MyBatis 與 SpringBoot 整合:註解和xml兩種使用方式介紹MyBatisSpring BootXML
- Spring整合Mybatis方式一 - 常規整合 - 註冊對映器SpringMyBatis
- Spring AOP整合redis(註解方式) 實現快取統一管理SpringRedis快取
- SSM 框架快速整合例項--學生查詢SSM框架
- 元件例項 $el 詳解元件
- 例項:使用puppeteer headless方式抓取JS網頁JS網頁
- php例項化物件的例項方法PHP物件
- 4、Spring IOC容器 Bean物件例項化的3種方式SpringBean物件
- Dubbo原始碼分析(一)Dubbo與Spring整合例項原始碼Spring
- Spring系列之新註解配置+Spring整合junit+註解注入Spring
- spring通過註解註冊bean的方式+spring生命週期SpringBean
- 【Vue全解0】Vue例項Vue
- Spring中基於註解方式的AOP操作Spring
- 註冊中心 Eureka 原始碼解析 —— 應用例項註冊發現(一)之註冊原始碼
- Java之執行緒同步完成售票例項的6種方式Java執行緒
- Java開發學習(四)----bean的三種例項化方式JavaBean
- C#例項化物件的三種方式及效能對比C#物件
- 與CNAME有關的DNS解決例項DNS
- springboot註解方式使用redis快取Spring BootRedis快取
- SpringBoot基於註解方式配置FilterSpring BootFilter
- 確保您擁有一個獨一無二的例項:單例模式的建立方式單例模式
- 【Springboot】例項講解Springboot整合OpenTracing分散式鏈路追蹤系統(Jaeger和Zipkin)Spring Boot分散式
- SpringBoot註解最全詳解(整合超詳細版本)Spring Boot
- CSS例項詳解:Flex佈局CSSFlex