Skip to content

Commit d964eb8

Browse files
committed
Spring Cloud Alibaba基础教程:与Dubbo的完美融合
1 parent 464f640 commit d964eb8

10 files changed

Lines changed: 298 additions & 0 deletions

File tree

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<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+
<groupId>com.didispace</groupId>
7+
<artifactId>alibaba-dubbo-api</artifactId>
8+
<version>0.0.1-SNAPSHOT</version>
9+
<packaging>jar</packaging>
10+
11+
<properties>
12+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
13+
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
14+
<java.version>1.8</java.version>
15+
</properties>
16+
17+
</project>
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
package com.didispace.alibaba.dubbo.api;
2+
3+
/**
4+
* Created by 程序猿DD/翟永超 on 2019/8/5.
5+
* <p>
6+
* Blog: http://blog.didispace.com/
7+
* Github: https://github.com/dyc87112/
8+
*/
9+
public interface HelloService {
10+
11+
String hello(String name);
12+
13+
}
Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<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+
<groupId>com.didispace</groupId>
7+
<artifactId>alibaba-dubbo-client</artifactId>
8+
<version>0.0.1-SNAPSHOT</version>
9+
<packaging>jar</packaging>
10+
11+
<parent>
12+
<groupId>org.springframework.boot</groupId>
13+
<artifactId>spring-boot-starter-parent</artifactId>
14+
<version>2.0.5.RELEASE</version>
15+
<relativePath/> <!-- lookup parent from repository -->
16+
</parent>
17+
18+
<properties>
19+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
20+
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
21+
<java.version>1.8</java.version>
22+
</properties>
23+
24+
<dependencies>
25+
26+
<dependency>
27+
<groupId>com.didispace</groupId>
28+
<artifactId>alibaba-dubbo-api</artifactId>
29+
<version>0.0.1-SNAPSHOT</version>
30+
</dependency>
31+
<dependency>
32+
<groupId>org.springframework.boot</groupId>
33+
<artifactId>spring-boot-starter-actuator</artifactId>
34+
</dependency>
35+
<dependency>
36+
<groupId>org.springframework.boot</groupId>
37+
<artifactId>spring-boot-starter-web</artifactId>
38+
</dependency>
39+
<dependency>
40+
<groupId>org.springframework.cloud</groupId>
41+
<!--<groupId>com.alibaba.cloud</groupId>-->
42+
<artifactId>spring-cloud-starter-dubbo</artifactId>
43+
</dependency>
44+
<dependency>
45+
<groupId>org.springframework.cloud</groupId>
46+
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
47+
</dependency>
48+
49+
<dependency>
50+
<groupId>org.projectlombok</groupId>
51+
<artifactId>lombok</artifactId>
52+
<version>1.18.2</version>
53+
<optional>true</optional>
54+
</dependency>
55+
<dependency>
56+
<groupId>org.springframework.boot</groupId>
57+
<artifactId>spring-boot-starter-test</artifactId>
58+
<scope>test</scope>
59+
</dependency>
60+
</dependencies>
61+
62+
<dependencyManagement>
63+
<dependencies>
64+
<dependency>
65+
<groupId>org.springframework.cloud</groupId>
66+
<artifactId>spring-cloud-dependencies</artifactId>
67+
<version>Finchley.SR1</version>
68+
<type>pom</type>
69+
<scope>import</scope>
70+
</dependency>
71+
<dependency>
72+
<groupId>org.springframework.cloud</groupId>
73+
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
74+
<version>0.2.2.RELEASE</version>
75+
<type>pom</type>
76+
<scope>import</scope>
77+
</dependency>
78+
</dependencies>
79+
</dependencyManagement>
80+
81+
<build>
82+
<plugins>
83+
<plugin>
84+
<groupId>org.springframework.boot</groupId>
85+
<artifactId>spring-boot-maven-plugin</artifactId>
86+
</plugin>
87+
</plugins>
88+
</build>
89+
</project>
Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
package com.didispace.alibaba.dubbo.client;
2+
3+
import com.didispace.alibaba.dubbo.api.HelloService;
4+
import lombok.extern.slf4j.Slf4j;
5+
import org.apache.dubbo.config.annotation.Reference;
6+
import org.springframework.beans.factory.annotation.Autowired;
7+
import org.springframework.boot.SpringApplication;
8+
import org.springframework.boot.autoconfigure.SpringBootApplication;
9+
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
10+
import org.springframework.web.bind.annotation.GetMapping;
11+
import org.springframework.web.bind.annotation.RestController;
12+
13+
14+
@EnableDiscoveryClient
15+
@SpringBootApplication
16+
public class DubboClientApplication {
17+
18+
public static void main(String[] args) {
19+
SpringApplication.run(DubboClientApplication.class, args);
20+
}
21+
22+
@Slf4j
23+
@RestController
24+
static class TestController {
25+
26+
@Reference
27+
HelloService helloService;
28+
29+
@GetMapping("/test")
30+
public String test() {
31+
return helloService.hello("didispace.com");
32+
}
33+
}
34+
35+
}
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
spring.application.name=alibaba-dubbo-client
2+
server.port=8002
3+
4+
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
5+
6+
dubbo.protocol.name=dubbo
7+
dubbo.protocol.port=-1
8+
dubbo.registry.address=spring-cloud://localhost
9+
dubbo.cloud.subscribed-services=alibaba-dubbo-server
Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,88 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<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+
<groupId>com.didispace</groupId>
7+
<artifactId>alibaba-dubbo-server</artifactId>
8+
<version>0.0.1-SNAPSHOT</version>
9+
<packaging>jar</packaging>
10+
11+
<parent>
12+
<groupId>org.springframework.boot</groupId>
13+
<artifactId>spring-boot-starter-parent</artifactId>
14+
<version>2.0.5.RELEASE</version>
15+
<relativePath/> <!-- lookup parent from repository -->
16+
</parent>
17+
18+
<properties>
19+
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
20+
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
21+
<java.version>1.8</java.version>
22+
</properties>
23+
24+
<dependencies>
25+
<dependency>
26+
<groupId>com.didispace</groupId>
27+
<artifactId>alibaba-dubbo-api</artifactId>
28+
<version>0.0.1-SNAPSHOT</version>
29+
</dependency>
30+
<dependency>
31+
<groupId>org.springframework.boot</groupId>
32+
<artifactId>spring-boot-starter-actuator</artifactId>
33+
</dependency>
34+
<dependency>
35+
<groupId>org.springframework.boot</groupId>
36+
<artifactId>spring-boot-starter-web</artifactId>
37+
</dependency>
38+
<dependency>
39+
<groupId>org.springframework.cloud</groupId>
40+
<!--<groupId>com.alibaba.cloud</groupId>-->
41+
<artifactId>spring-cloud-starter-dubbo</artifactId>
42+
</dependency>
43+
<dependency>
44+
<groupId>org.springframework.cloud</groupId>
45+
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
46+
</dependency>
47+
48+
<dependency>
49+
<groupId>org.projectlombok</groupId>
50+
<artifactId>lombok</artifactId>
51+
<version>1.18.2</version>
52+
<optional>true</optional>
53+
</dependency>
54+
<dependency>
55+
<groupId>org.springframework.boot</groupId>
56+
<artifactId>spring-boot-starter-test</artifactId>
57+
<scope>test</scope>
58+
</dependency>
59+
</dependencies>
60+
61+
<dependencyManagement>
62+
<dependencies>
63+
<dependency>
64+
<groupId>org.springframework.cloud</groupId>
65+
<artifactId>spring-cloud-dependencies</artifactId>
66+
<version>Finchley.SR1</version>
67+
<type>pom</type>
68+
<scope>import</scope>
69+
</dependency>
70+
<dependency>
71+
<groupId>org.springframework.cloud</groupId>
72+
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
73+
<version>0.2.2.RELEASE</version>
74+
<type>pom</type>
75+
<scope>import</scope>
76+
</dependency>
77+
</dependencies>
78+
</dependencyManagement>
79+
80+
<build>
81+
<plugins>
82+
<plugin>
83+
<groupId>org.springframework.boot</groupId>
84+
<artifactId>spring-boot-maven-plugin</artifactId>
85+
</plugin>
86+
</plugins>
87+
</build>
88+
</project>
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package com.didispace.alibaba.dubbo.server;
2+
3+
import org.springframework.boot.SpringApplication;
4+
import org.springframework.boot.autoconfigure.SpringBootApplication;
5+
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
6+
7+
8+
@EnableDiscoveryClient
9+
@SpringBootApplication
10+
public class DubboServerApplication {
11+
12+
public static void main(String[] args) {
13+
SpringApplication.run(DubboServerApplication.class, args);
14+
}
15+
16+
17+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
package com.didispace.alibaba.dubbo.server;
2+
3+
import com.didispace.alibaba.dubbo.api.HelloService;
4+
import org.apache.dubbo.config.annotation.Service;
5+
6+
// 注意:是 org.apache.dubbo.config.annotation.Service 注解
7+
@Service
8+
public class HelloServiceImpl implements HelloService {
9+
10+
@Override
11+
public String hello(String name) {
12+
return "hello " + name;
13+
}
14+
15+
}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
spring.application.name=alibaba-dubbo-server
2+
server.port=8001
3+
4+
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
5+
6+
# 指定 Dubbo 服务实现类的扫描基准包
7+
dubbo.scan.base-packages=com.didispace.alibaba.dubbo.server
8+
dubbo.protocol.name=dubbo
9+
dubbo.protocol.port=-1
10+
dubbo.registry.address=spring-cloud://localhost
11+

4-Finchley/pom.xml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@
2525
<module>alibaba-sentinel-dashboard-nacos</module> <!-- 使用Nacos存储规则的Dashboard -->
2626
<module>alibaba-sentinel-annotation</module> <!-- @SentinelResource注解的使用 -->
2727

28+
<module>alibaba-dubbo-api</module> <!-- Dubbo API定义 -->
29+
<module>alibaba-dubbo-server</module> <!-- Dubbo 服务端实现 -->
30+
<module>alibaba-dubbo-client</module> <!-- Dubbo 客户端实现 -->
31+
2832
<!--spring cloud stream专题-->
2933
<module>stream-consumer-self</module> <!-- 消费自己的消息 -->
3034
<module>stream-exception-handler-1</module> <!-- 消息重试 -->

0 commit comments

Comments
 (0)