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 mvc+struts2+Hibernate整合例項程式碼(註解詳解)SpringMVC
- spring boot使用註解的方式整合mybaitsSpring BootAI
- 【轉】java中註解的使用與例項Java
- Spring中用註解建立bean例項SpringBean
- 在 NgModule 裡透過依賴注入的方式註冊服務例項依賴注入
- Redis詳解 - SpringBoot整合Redis,RedisTemplate和註解兩種方式的使用RedisSpring Boot
- Spring 4+Redis+ActiveMQ+MongoDB+MySql+Quartz 整合 註解方式SpringRedisMQMongoDBMySqlquartz
- 批註:多型例項多型
- 【Spring Boot架構】整合Mybatis-Plus的例項詳解Spring Boot架構MyBatis
- java反射方式建立例項Java反射
- 自定義註解例項實現SQL語句生成SQL
- 本地SSH方式連線例項
- spring整合quartz的叢集配置例項Springquartz
- Spring依賴注入的兩種方式(根據例項詳解)Spring依賴注入
- Java獲取Class物件的方式和例項化物件的方式Java物件
- ActiveMQ的使用及整合spring的使用例項MQSpring
- Spring Boot 整合 FreeMarker 例項Spring Boot
- Axis2+spring整合例項Spring
- 例項動態註冊跟蹤
- Spring IOC容器-註解的方式Spring
- Spring整合Mybatis方式一 - 常規整合 - 註冊對映器SpringMyBatis
- Spring AOP整合redis(註解方式) 實現快取統一管理SpringRedis快取
- MyBatis 與 SpringBoot 整合:註解和xml兩種使用方式介紹MyBatisSpring BootXML
- Spring 註解方式實現的AOPSpring
- Android生成ViewModel例項的幾種方式AndroidView
- Spring(三)——註解方式(Annotation)Spring
- curl例項詳解
- sudo 詳解+例項
- tcl/tk例項詳解——glob使用例解
- Springboot整合mybatis框架(含例項Demo)Spring BootMyBatis框架
- SSM 框架快速整合例項--學生查詢SSM框架
- 使用ajax方式提交表單程式碼例項
- 通過Cache::Memcached方式 例項物件應用物件
- 元件例項 $el 詳解元件
- sql join例項圖解SQL圖解
- Crontab例項-命令詳解
- FreaMarker入門教程,環境整合到使用例項
- Redis整合Spring結合使用快取例項RedisSpring快取