Skip to content

Commit 2c9099a

Browse files
author
qianlq
committed
fix(解决冲突): 解决master分支冲突
2 parents 2b289d8 + a4d0b40 commit 2c9099a

File tree

6 files changed

+204
-120
lines changed

6 files changed

+204
-120
lines changed

.travis.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
language: java
2+
3+
install: mvn install -DskipTests=true -Dmaven.javadoc.skip=true
4+
script: mvn -DskipTests=true clean install
5+
6+
7+
branches:
8+
only:
9+
- master

README.md

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
<div align="center">
2+
<img src="https://i.ibb.co/250CB9Y/154358749351878.png" width="60%"/>
3+
<br/>
4+
5+
[![Build Status](https://travis-ci.org/coderqianlq/dubbo-spring-boot-cli.svg?branch=master)](https://travis-ci.org/coderqianlq/dubbo-spring-boot-cli)
6+
[![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://github.com/coderqianlq/spring-boot-dubbo-cli/blob/master/LICENSE)
7+
</div>
8+
9+
**快速开始**
10+
11+
通常情况,dubbo应用有两种使用场景,其一为服务提供方,另外一个是服务消费方。
12+
13+
这里选择更优的方式,在dubbo的服务层之上提供一个API网关,由API网关负责对dubbo服务的访问(可以考虑用泛化的方式去调用),这样所有的业务系统只要以Restful的方式调用API网关即可调用dubbo服务。
14+
15+
在dubbo-api中定义服务提供方为服务消费方暴露接口:
16+
17+
```java
18+
public interface TestService {
19+
String test(String text);
20+
}
21+
```
22+
23+
**服务提供方**
24+
25+
添加依赖:
26+
27+
```xml
28+
<dependencies>
29+
<dependency>
30+
<groupId>com.alibaba.boot</groupId>
31+
<artifactId>dubbo-spring-boot-starter</artifactId>
32+
<version>0.2.0</version>
33+
</dependency>
34+
35+
<dependency>
36+
<groupId>com.coderqian</groupId>
37+
<artifactId>dubbo-api</artifactId>
38+
<version>0.0.1-SNAPSHOT</version>
39+
</dependency>
40+
</dependencies>
41+
```
42+
43+
在application.properties添加dubbo的相关配置信息:
44+
45+
```properties
46+
# 当前dubbo应用id
47+
dubbo.application.id=dubbo-provider
48+
# 当前dubbo应用名称
49+
dubbo.application.name=dubbo-provider
50+
# 注册中心
51+
dubbo.registry.address=zookeeper://127.0.0.1:2181
52+
dubbo.server=true
53+
# 生产者暴露给消费者协议
54+
dubbo.protocol.name=dubbo
55+
# 生产者暴露给消费者端口
56+
dubbo.protocol.port=20880
57+
```
58+
59+
注:这个配置只针对服务提供方,消费方不用指定协议,它自己会根据服务端的地址信息和@Reference注解去解析协议。
60+
61+
在Spring Boot Application的上添加`@EnableDubbo`,表示要开启dubbo功能。(dubbo provider服务可以使用或者不使用web容器)
62+
63+
```java
64+
@EnableDubbo
65+
@SpringBootApplication
66+
public class DubboProviderApplication {
67+
68+
public static void main(String[] args) {
69+
SpringApplication.run(DubboProviderApplication.class, args);
70+
}
71+
}
72+
```
73+
74+
实现TestService,对外提供服务。
75+
76+
```java
77+
@Service
78+
public class TestServiceImpl implements TestService {
79+
80+
@Override
81+
public String test(String text) {
82+
return text;
83+
}
84+
}
85+
```
86+
87+
注:`@Service`是dubbo提供的注解`com.alibaba.dubbo.config.annotation.Service`
88+
89+
**服务消费方**
90+
91+
添加依赖:
92+
93+
```xml
94+
<dependencies>
95+
<dependency>
96+
<groupId>com.alibaba.boot</groupId>
97+
<artifactId>dubbo-spring-boot-starter</artifactId>
98+
<version>0.2.0</version>
99+
</dependency>
100+
101+
<dependency>
102+
<groupId>com.coderqian</groupId>
103+
<artifactId>dubbo-api</artifactId>
104+
<version>0.0.1-SNAPSHOT</version>
105+
</dependency>
106+
</dependencies>
107+
```
108+
109+
在application.properties添加dubbo的相关配置信息:
110+
111+
```properties
112+
# 当前dubbo应用id
113+
dubbo.application.id=dubbo-customer
114+
# 当前dubbo应用名称
115+
dubbo.application.name=dubbo-customer
116+
# 注册中心
117+
dubbo.registry.address=zookeeper://127.0.0.1:2181
118+
119+
# 生产者提供的协议id
120+
dubbo.protocol.id=dubbo-provider
121+
# 生产者提供的协议名称
122+
dubbo.protocol.name=dubbo
123+
# 生产者提供的协议端口号
124+
dubbo.protocol.port=20880
125+
```
126+
127+
通过`@Reference`注入需要使用的服务。
128+
129+
```java
130+
@RestController
131+
@RequestMapping("/customer")
132+
public class TestController {
133+
134+
@Reference
135+
private TestService testService;
136+
137+
@RequestMapping(value = "/hello", method = RequestMethod.GET)
138+
public String test(String text) {
139+
return testService.test(text);
140+
}
141+
}
142+
```
143+
144+
**参考文档**
145+
146+
* dubbo: http://dubbo.io
147+
* spring-boot: http://projects.spring.io/spring-boot
148+
* dubbo-spring-boot-starter: https://github.com/alibaba/dubbo-spring-boot-starter
149+
* dubbo-spring-boot-project: https://github.com/dubbo/dubbo-spring-boot-project
150+

dubbo-api/.gitignore

Lines changed: 0 additions & 25 deletions
This file was deleted.

dubbo-api/pom.xml

Lines changed: 45 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,49 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
3-
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4-
<modelVersion>4.0.0</modelVersion>
5-
6-
<artifactId>dubbo-api</artifactId>
7-
<version>0.0.1-SNAPSHOT</version>
8-
<packaging>jar</packaging>
9-
10-
<parent>
11-
<groupId>com.coderqian</groupId>
12-
<artifactId>spring-boot-dubbo-cli</artifactId>
13-
<version>1.0-SNAPSHOT</version>
14-
</parent>
15-
16-
<name>dubbo-api</name>
17-
<description>Demo project for Spring Boot</description>
18-
19-
<properties>
20-
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
21-
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
22-
<java.version>1.8</java.version>
23-
</properties>
24-
25-
<dependencies>
26-
<dependency>
27-
<groupId>org.springframework.boot</groupId>
28-
<artifactId>spring-boot-starter-web</artifactId>
29-
</dependency>
30-
31-
<dependency>
32-
<groupId>org.projectlombok</groupId>
33-
<artifactId>lombok</artifactId>
34-
<version>1.18.2</version>
35-
<scope>provided</scope>
36-
</dependency>
37-
</dependencies>
38-
39-
<build>
40-
<plugins>
41-
<plugin>
42-
<groupId>org.springframework.boot</groupId>
43-
<artifactId>spring-boot-maven-plugin</artifactId>
44-
</plugin>
45-
</plugins>
46-
</build>
47-
3+
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
4+
<modelVersion>4.0.0</modelVersion>
5+
6+
<artifactId>dubbo-api</artifactId>
7+
<version>0.0.1-SNAPSHOT</version>
8+
<packaging>jar</packaging>
9+
10+
<parent>
11+
<groupId>com.coderqian</groupId>
12+
<artifactId>spring-boot-dubbo-cli</artifactId>
13+
<version>1.0-SNAPSHOT</version>
14+
</parent>
15+
16+
<name>dubbo-api</name>
17+
<description>Demo project for Spring Boot</description>
18+
19+
<properties>
20+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
21+
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
22+
<java.version>1.8</java.version>
23+
</properties>
24+
25+
<dependencies>
26+
<dependency>
27+
<groupId>org.springframework.boot</groupId>
28+
<artifactId>spring-boot-starter</artifactId>
29+
</dependency>
30+
31+
<dependency>
32+
<groupId>org.springframework.boot</groupId>
33+
<artifactId>spring-boot-starter-web</artifactId>
34+
</dependency>
35+
</dependencies>
36+
37+
<build>
38+
<plugins>
39+
<plugin>
40+
<groupId>org.springframework.boot</groupId>
41+
<artifactId>spring-boot-maven-plugin</artifactId>
42+
<configuration>
43+
<classifier>exec</classifier>
44+
</configuration>
45+
</plugin>
46+
</plugins>
47+
</build>
4848

4949
</project>

dubbo-consumer/.gitignore

Lines changed: 0 additions & 25 deletions
This file was deleted.

dubbo-provider/.gitignore

Lines changed: 0 additions & 25 deletions
This file was deleted.

0 commit comments

Comments
 (0)