SpringBoot (七) :SpringBoot 整合dubbo
生活随笔
收集整理的這篇文章主要介紹了
SpringBoot (七) :SpringBoot 整合dubbo
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
Dubbo是什么
Dubbo是alibaba的一款開源軟件,它是基于java的RPC調用框架。
Dubbo主要提供了三種功能:
- 提供了基于接口的遠程調用接口
- 容錯性和負載均衡
- 服務自動注冊及發現
安裝ZooKeeper 服務注冊中心
ZooKeeper 是一個分布式的,開放源碼的分布式應用程序協調服務。它是一個為分布式應用提供一致性服務的軟件,提供的功能包括:配置維護、域名服務、分布式同步、組服務等。
下載 ZooKeeper ,地址 http://www.apache.org/dyn/closer.cgi/zookeeper
在這就不詳細寫安裝ZooKeeper 的步驟了,不會的安裝的親可以問度娘喲~
項目結構
SpringBootDubbo-Server
springboot-dubbo-client
SpringBootDubbo-Server代碼實現
1、pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>SpringBootDubbo-Server</groupId><artifactId>springboot-dubbo-client</artifactId><version>0.0.1-SNAPSHOT</version><!-- SpringBoot父類依賴引用 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.2.RELEASE</version></parent><properties><dubbo-spring-boot>1.0.0</dubbo-spring-boot></properties><dependencies><!-- Spring Boot Dubbo 依賴 --><dependency><groupId>io.dubbo.springboot</groupId><artifactId>spring-boot-starter-dubbo</artifactId><version>${dubbo-spring-boot}</version></dependency><!-- SpringBoot web 組件 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
</project>
2、application.properties
## Dubbo 服務提供者配置
spring.dubbo.application.name=provider
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
spring.dubbo.protocol.name=dubbo
spring.dubbo.protocol.port=20880
spring.dubbo.scan=com.fit
3、User.java
public class User implements Serializable{/*** */private static final long serialVersionUID = 1L;private String id;private String name;public User(String id, String name) {this.id = id;this.name = name;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
4、Service層
public interface UserDubboService {public User getUser();
}@Service
public class UserDubboServiceImpl implements UserDubboService {public User getUser() {// TODO Auto-generated method stubUser user = new User("1","zlzhaoe");return user;}}
5、ServerApp.java
@SpringBootApplication
public class ServerApp {/*** @param args*/public static void main(String[] args) {// TODO Auto-generated method stubSpringApplication.run(ServerApp.class, args);}}
springboot-dubbo-client代碼實現
1、pom.xml文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>SpringBootDubbo-Server</groupId><artifactId>springboot-dubbo-client</artifactId><version>0.0.1-SNAPSHOT</version><!-- SpringBoot父類依賴引用 --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>1.5.2.RELEASE</version></parent><properties><dubbo-spring-boot>1.0.0</dubbo-spring-boot></properties><dependencies><!-- Spring Boot Dubbo 依賴 --><dependency><groupId>io.dubbo.springboot</groupId><artifactId>spring-boot-starter-dubbo</artifactId><version>${dubbo-spring-boot}</version></dependency><!-- SpringBoot web 組件 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency></dependencies>
</project>
2、application.properties
## 端口號
server.port=8081
## Dubbo
spring.dubbo.application.name=consumer
spring.dubbo.registry.address=zookeeper://127.0.0.1:2181
spring.dubbo.scan=com.fit
3、User.java
public class User implements Serializable{/*** */private static final long serialVersionUID = 1L;private String id;private String name;public User(String id, String name) {this.id = id;this.name = name;}public String getId() {return id;}public void setId(String id) {this.id = id;}public String getName() {return name;}public void setName(String name) {this.name = name;}}
4、service層
public interface UserDubboService {public User getUser();
}
5、Controller層
@RestController
public class UserController {@Referenceprivate UserDubboService userDubboService;@RequestMapping(value ="getUser")public User getUser() {// TODO Auto-generated method stubUser user = userDubboService.getUser();return user;}
}
6、啟動SpringBootDubbo-Server,springboot-dubbo-client運行訪問http://localhost:8081/getUser
源碼下載
總結
以上是生活随笔為你收集整理的SpringBoot (七) :SpringBoot 整合dubbo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringBoot (五) :Spri
- 下一篇: 【微服务架构】SpringCloud之E