Browse Source

多层结构

yufeng0528 4 years ago
parent
commit
baa8aff7da

+ 1 - 0
.gitignore

@@ -2,3 +2,4 @@
2 2
 .settings/
3 3
 .classpath
4 4
 .project
5
+bin/

+ 14 - 81
pom.xml

@@ -5,29 +5,32 @@
5 5
 	
6 6
 	<groupId>com.yaozhitech</groupId>
7 7
 	<artifactId>spring5</artifactId>
8
-	<packaging>jar</packaging>
8
+	<packaging>pom</packaging>
9 9
 	<version>0.1.0</version>
10 10
 	
11 11
 	<name>${project.artifactId}</name>
12 12
     <description>spring5 demo</description>
13
-	
14
-	<!-- Spring Boot 启动父依赖 -->
15
-	<parent>
16
-        <groupId>org.springframework.boot</groupId>
17
-        <artifactId>spring-boot-starter-parent</artifactId>
18
-        <version>2.1.4.RELEASE</version>
19
-        <relativePath />
20
-    </parent>
13
+
14
+    <modules>
15
+        <module>auth</module>
16
+        <module>gateway</module>
17
+    </modules>
21 18
 
22 19
 	<properties>
23 20
 		<maven.compiler.source>1.8</maven.compiler.source>
24 21
 		<maven.compiler.target>1.8</maven.compiler.target>
25
-		<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
26
-		<spring-cloud.version>2.1.4.RELEASE</spring-cloud.version>
27 22
 	</properties>
28 23
 	
29 24
 	<dependencyManagement>
30 25
         <dependencies>
26
+            <!--支持Spring Boot 2.1.X-->
27
+            <dependency>
28
+                <groupId>org.springframework.boot</groupId>
29
+                <artifactId>spring-boot-dependencies</artifactId>
30
+                <version>2.1.4.RELEASE</version>
31
+                <type>pom</type>
32
+                <scope>import</scope>
33
+            </dependency>
31 34
             <dependency>
32 35
                 <groupId>org.springframework.cloud</groupId>
33 36
                 <artifactId>spring-cloud-dependencies</artifactId>
@@ -49,48 +52,7 @@
49 52
             <groupId>org.springframework.cloud</groupId>
50 53
             <artifactId>spring-cloud-starter</artifactId>
51 54
        </dependency>
52
-       
53
-       <!-- 网关 -->
54
-		<dependency>
55
-			<groupId>org.springframework.cloud</groupId>
56
-			<artifactId>spring-cloud-starter-gateway</artifactId>
57
-		</dependency>
58
-	
59
-		<!-- hystrix -->
60
-		<dependency>
61
-			<groupId>org.springframework.cloud</groupId>
62
-			<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
63
-		</dependency>
64
-		
65
-		<!-- 最新推荐的断路器 -->
66
-<!--         <dependency> -->
67
-<!--             <groupId>org.springframework.cloud</groupId> -->
68
-<!--             <artifactId>spring-cloud-starter-circuitbreaker-reactor-resilience4j</artifactId> -->
69
-<!--         </dependency> -->
70
-        
71
-		<!-- Spring Boot Web Flux 依赖 -->
72
-		<dependency>
73
-			<groupId>org.springframework.boot</groupId>
74
-			<artifactId>spring-boot-starter-webflux</artifactId>
75
-		</dependency>
76
-	
77
-		<!-- Spring Boot 响应式 Redis 依赖 -->
78
-		<dependency>
79
-			<groupId>org.springframework.boot</groupId>
80
-			<artifactId>spring-boot-starter-data-redis-reactive</artifactId>
81
-		</dependency>
82
-		
83
-		<dependency>
84
-            <groupId>com.alicp.jetcache</groupId>
85
-            <artifactId>jetcache-starter-redis</artifactId>
86
-            <version>2.6.0.M3</version>
87
-        </dependency>
88 55
 
89
-		<dependency>
90
-			<groupId>com.alicp.jetcache</groupId>
91
-			<artifactId>jetcache-redis-lettuce</artifactId>
92
-			<version>2.6.0.M3</version>
93
-		</dependency>
94 56
 			
95 57
 		<!-- Spring test 依赖 -->
96 58
         <dependency>
@@ -104,35 +66,6 @@
104 66
             <artifactId>junit</artifactId>
105 67
             <scope>test</scope>
106 68
         </dependency>
107
-        
108
-        <!-- 集成wireMock来实现mock请求响应。wireMock会自动构建一个虚拟远程服务 -->
109
-		<dependency>
110
-		   <groupId>org.springframework.cloud</groupId>
111
-		   <artifactId>spring-cloud-contract-wiremock</artifactId>
112
-		   <scope>test</scope>
113
-		</dependency>
114
-		
115
-		<!-- 提供打包预定义数据服务 -->
116
-		<dependency>
117
-		   <groupId>org.springframework.cloud</groupId>
118
-		   <artifactId>spring-cloud-starter-contract-stub-runner</artifactId>
119
-		   <scope>test</scope>
120
-		</dependency>
121
-		
122
-		<!-- 自动生成单元测试代码 -->
123
-		<dependency>
124
-		   <groupId>org.springframework.cloud</groupId>
125
-		   <artifactId>spring-cloud-starter-contract-verifier</artifactId>
126
-		   <scope>test</scope>
127
-		</dependency>
128
-
129
-
130
-		<dependency>
131
-			<groupId>com.github.tomakehurst</groupId>
132
-			<artifactId>wiremock-standalone</artifactId>
133
-			<version>2.18.0</version>
134
-			<scope>test</scope>
135
-		</dependency>
136 69
 
137 70
 		<!-- lombok依赖包 -->
138 71
 		<dependency>

+ 1 - 0
spring5-auth/.gitignore

@@ -0,0 +1 @@
1
+/target/

+ 144 - 0
spring5-auth/pom.xml

@@ -0,0 +1,144 @@
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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4
+	<modelVersion>4.0.0</modelVersion>
5
+	
6
+	<groupId>com.yaozhitech</groupId>
7
+	<artifactId>spring5-auth</artifactId>
8
+	<packaging>jar</packaging>
9
+	<version>0.1.0</version>
10
+	
11
+	<name>${project.artifactId}</name>
12
+    <description>spring5 demo</description>
13
+	
14
+	<!-- Spring Boot 启动父依赖 -->
15
+	<parent>
16
+        <groupId>org.springframework.boot</groupId>
17
+        <artifactId>spring-boot-starter-parent</artifactId>
18
+        <version>2.1.4.RELEASE</version>
19
+        <relativePath />
20
+    </parent>
21
+
22
+	<properties>
23
+		<maven.compiler.source>1.8</maven.compiler.source>
24
+		<maven.compiler.target>1.8</maven.compiler.target>
25
+		<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
26
+		<spring-cloud.version>2.1.4.RELEASE</spring-cloud.version>
27
+	</properties>
28
+	
29
+	<dependencyManagement>
30
+        <dependencies>
31
+            <dependency>
32
+                <groupId>org.springframework.cloud</groupId>
33
+                <artifactId>spring-cloud-dependencies</artifactId>
34
+                <version>Greenwich.RELEASE</version>
35
+                <type>pom</type>
36
+                <scope>import</scope>
37
+            </dependency>
38
+        </dependencies>
39
+    </dependencyManagement>
40
+    
41
+	<dependencies>
42
+	   <!--自省和监控的集成功能-->
43
+        <dependency>
44
+            <groupId>org.springframework.boot</groupId>
45
+            <artifactId>spring-boot-starter-actuator</artifactId>
46
+        </dependency>
47
+        
48
+	   <dependency>
49
+            <groupId>org.springframework.cloud</groupId>
50
+            <artifactId>spring-cloud-starter</artifactId>
51
+       </dependency>
52
+       
53
+       <!-- 网关 -->
54
+		<dependency>
55
+			<groupId>org.springframework.cloud</groupId>
56
+			<artifactId>spring-cloud-starter-gateway</artifactId>
57
+		</dependency>
58
+	
59
+		<!-- hystrix -->
60
+		<dependency>
61
+			<groupId>org.springframework.cloud</groupId>
62
+			<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
63
+		</dependency>
64
+		
65
+		<!-- 最新推荐的断路器 -->
66
+<!--         <dependency> -->
67
+<!--             <groupId>org.springframework.cloud</groupId> -->
68
+<!--             <artifactId>spring-cloud-starter-circuitbreaker-reactor-resilience4j</artifactId> -->
69
+<!--         </dependency> -->
70
+        
71
+		<!-- Spring Boot Web Flux 依赖 -->
72
+		<dependency>
73
+			<groupId>org.springframework.boot</groupId>
74
+			<artifactId>spring-boot-starter-webflux</artifactId>
75
+		</dependency>
76
+	
77
+		<!-- Spring Boot 响应式 Redis 依赖 -->
78
+		<dependency>
79
+			<groupId>org.springframework.boot</groupId>
80
+			<artifactId>spring-boot-starter-data-redis-reactive</artifactId>
81
+		</dependency>
82
+		
83
+		<dependency>
84
+            <groupId>com.alicp.jetcache</groupId>
85
+            <artifactId>jetcache-starter-redis</artifactId>
86
+            <version>2.6.0.M3</version>
87
+        </dependency>
88
+
89
+		<dependency>
90
+			<groupId>com.alicp.jetcache</groupId>
91
+			<artifactId>jetcache-redis-lettuce</artifactId>
92
+			<version>2.6.0.M3</version>
93
+		</dependency>
94
+			
95
+		<!-- Spring test 依赖 -->
96
+        <dependency>
97
+            <groupId>org.springframework.boot</groupId>
98
+            <artifactId>spring-boot-starter-test</artifactId>
99
+            <scope>test</scope>
100
+        </dependency>
101
+        
102
+        <dependency>
103
+            <groupId>junit</groupId>
104
+            <artifactId>junit</artifactId>
105
+            <scope>test</scope>
106
+        </dependency>
107
+        
108
+        <!-- 集成wireMock来实现mock请求响应。wireMock会自动构建一个虚拟远程服务 -->
109
+		<dependency>
110
+		   <groupId>org.springframework.cloud</groupId>
111
+		   <artifactId>spring-cloud-contract-wiremock</artifactId>
112
+		   <scope>test</scope>
113
+		</dependency>
114
+		
115
+		<!-- 提供打包预定义数据服务 -->
116
+		<dependency>
117
+		   <groupId>org.springframework.cloud</groupId>
118
+		   <artifactId>spring-cloud-starter-contract-stub-runner</artifactId>
119
+		   <scope>test</scope>
120
+		</dependency>
121
+		
122
+		<!-- 自动生成单元测试代码 -->
123
+		<dependency>
124
+		   <groupId>org.springframework.cloud</groupId>
125
+		   <artifactId>spring-cloud-starter-contract-verifier</artifactId>
126
+		   <scope>test</scope>
127
+		</dependency>
128
+
129
+
130
+		<dependency>
131
+			<groupId>com.github.tomakehurst</groupId>
132
+			<artifactId>wiremock-standalone</artifactId>
133
+			<version>2.18.0</version>
134
+			<scope>test</scope>
135
+		</dependency>
136
+
137
+		<!-- lombok依赖包 -->
138
+		<dependency>
139
+			<groupId>org.projectlombok</groupId>
140
+			<artifactId>lombok</artifactId>
141
+		</dependency>
142
+		
143
+	</dependencies>
144
+</project>

+ 1 - 0
spring5-gateway/.gitignore

@@ -0,0 +1 @@
1
+/target/

+ 144 - 0
spring5-gateway/pom.xml

@@ -0,0 +1,144 @@
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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4
+	<modelVersion>4.0.0</modelVersion>
5
+	
6
+	<groupId>com.yaozhitech</groupId>
7
+	<artifactId>spring5-gateway</artifactId>
8
+	<packaging>jar</packaging>
9
+	<version>0.1.0</version>
10
+	
11
+	<name>${project.artifactId}</name>
12
+    <description>spring5 demo</description>
13
+	
14
+	<!-- Spring Boot 启动父依赖 -->
15
+	<parent>
16
+        <groupId>org.springframework.boot</groupId>
17
+        <artifactId>spring-boot-starter-parent</artifactId>
18
+        <version>2.1.4.RELEASE</version>
19
+        <relativePath />
20
+    </parent>
21
+
22
+	<properties>
23
+		<maven.compiler.source>1.8</maven.compiler.source>
24
+		<maven.compiler.target>1.8</maven.compiler.target>
25
+		<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>
26
+		<spring-cloud.version>2.1.4.RELEASE</spring-cloud.version>
27
+	</properties>
28
+	
29
+	<dependencyManagement>
30
+        <dependencies>
31
+            <dependency>
32
+                <groupId>org.springframework.cloud</groupId>
33
+                <artifactId>spring-cloud-dependencies</artifactId>
34
+                <version>Greenwich.RELEASE</version>
35
+                <type>pom</type>
36
+                <scope>import</scope>
37
+            </dependency>
38
+        </dependencies>
39
+    </dependencyManagement>
40
+    
41
+	<dependencies>
42
+	   <!--自省和监控的集成功能-->
43
+        <dependency>
44
+            <groupId>org.springframework.boot</groupId>
45
+            <artifactId>spring-boot-starter-actuator</artifactId>
46
+        </dependency>
47
+        
48
+	   <dependency>
49
+            <groupId>org.springframework.cloud</groupId>
50
+            <artifactId>spring-cloud-starter</artifactId>
51
+       </dependency>
52
+       
53
+       <!-- 网关 -->
54
+		<dependency>
55
+			<groupId>org.springframework.cloud</groupId>
56
+			<artifactId>spring-cloud-starter-gateway</artifactId>
57
+		</dependency>
58
+	
59
+		<!-- hystrix -->
60
+		<dependency>
61
+			<groupId>org.springframework.cloud</groupId>
62
+			<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
63
+		</dependency>
64
+		
65
+		<!-- 最新推荐的断路器 -->
66
+<!--         <dependency> -->
67
+<!--             <groupId>org.springframework.cloud</groupId> -->
68
+<!--             <artifactId>spring-cloud-starter-circuitbreaker-reactor-resilience4j</artifactId> -->
69
+<!--         </dependency> -->
70
+        
71
+		<!-- Spring Boot Web Flux 依赖 -->
72
+		<dependency>
73
+			<groupId>org.springframework.boot</groupId>
74
+			<artifactId>spring-boot-starter-webflux</artifactId>
75
+		</dependency>
76
+	
77
+		<!-- Spring Boot 响应式 Redis 依赖 -->
78
+		<dependency>
79
+			<groupId>org.springframework.boot</groupId>
80
+			<artifactId>spring-boot-starter-data-redis-reactive</artifactId>
81
+		</dependency>
82
+		
83
+		<dependency>
84
+            <groupId>com.alicp.jetcache</groupId>
85
+            <artifactId>jetcache-starter-redis</artifactId>
86
+            <version>2.6.0.M3</version>
87
+        </dependency>
88
+
89
+		<dependency>
90
+			<groupId>com.alicp.jetcache</groupId>
91
+			<artifactId>jetcache-redis-lettuce</artifactId>
92
+			<version>2.6.0.M3</version>
93
+		</dependency>
94
+			
95
+		<!-- Spring test 依赖 -->
96
+        <dependency>
97
+            <groupId>org.springframework.boot</groupId>
98
+            <artifactId>spring-boot-starter-test</artifactId>
99
+            <scope>test</scope>
100
+        </dependency>
101
+        
102
+        <dependency>
103
+            <groupId>junit</groupId>
104
+            <artifactId>junit</artifactId>
105
+            <scope>test</scope>
106
+        </dependency>
107
+        
108
+        <!-- 集成wireMock来实现mock请求响应。wireMock会自动构建一个虚拟远程服务 -->
109
+		<dependency>
110
+		   <groupId>org.springframework.cloud</groupId>
111
+		   <artifactId>spring-cloud-contract-wiremock</artifactId>
112
+		   <scope>test</scope>
113
+		</dependency>
114
+		
115
+		<!-- 提供打包预定义数据服务 -->
116
+		<dependency>
117
+		   <groupId>org.springframework.cloud</groupId>
118
+		   <artifactId>spring-cloud-starter-contract-stub-runner</artifactId>
119
+		   <scope>test</scope>
120
+		</dependency>
121
+		
122
+		<!-- 自动生成单元测试代码 -->
123
+		<dependency>
124
+		   <groupId>org.springframework.cloud</groupId>
125
+		   <artifactId>spring-cloud-starter-contract-verifier</artifactId>
126
+		   <scope>test</scope>
127
+		</dependency>
128
+
129
+
130
+		<dependency>
131
+			<groupId>com.github.tomakehurst</groupId>
132
+			<artifactId>wiremock-standalone</artifactId>
133
+			<version>2.18.0</version>
134
+			<scope>test</scope>
135
+		</dependency>
136
+
137
+		<!-- lombok依赖包 -->
138
+		<dependency>
139
+			<groupId>org.projectlombok</groupId>
140
+			<artifactId>lombok</artifactId>
141
+		</dependency>
142
+		
143
+	</dependencies>
144
+</project>

src/main/java/com/yaozhitech/spring5/App.java → spring5-gateway/src/main/java/com/yaozhitech/spring5/App.java


src/main/java/com/yaozhitech/spring5/config/FilterConfig.java → spring5-gateway/src/main/java/com/yaozhitech/spring5/config/FilterConfig.java


src/main/java/com/yaozhitech/spring5/config/RedisConfig.java → spring5-gateway/src/main/java/com/yaozhitech/spring5/config/RedisConfig.java


src/main/java/com/yaozhitech/spring5/config/RedisRouteDefinitionRepository.java → spring5-gateway/src/main/java/com/yaozhitech/spring5/config/RedisRouteDefinitionRepository.java


src/main/java/com/yaozhitech/spring5/config/Resilience4JConfiguration.java → spring5-gateway/src/main/java/com/yaozhitech/spring5/config/Resilience4JConfiguration.java


src/main/java/com/yaozhitech/spring5/config/RouterConfig.java → spring5-gateway/src/main/java/com/yaozhitech/spring5/config/RouterConfig.java


src/main/java/com/yaozhitech/spring5/config/UriConfiguration.java → spring5-gateway/src/main/java/com/yaozhitech/spring5/config/UriConfiguration.java


src/main/java/com/yaozhitech/spring5/controller/CityWebFluxController.java → spring5-gateway/src/main/java/com/yaozhitech/spring5/controller/CityWebFluxController.java


src/main/java/com/yaozhitech/spring5/controller/CityWebFluxReactiveController.java → spring5-gateway/src/main/java/com/yaozhitech/spring5/controller/CityWebFluxReactiveController.java


src/main/java/com/yaozhitech/spring5/controller/HystrixfallbackController.java → spring5-gateway/src/main/java/com/yaozhitech/spring5/controller/HystrixfallbackController.java


src/main/java/com/yaozhitech/spring5/domain/City.java → spring5-gateway/src/main/java/com/yaozhitech/spring5/domain/City.java


src/main/java/com/yaozhitech/spring5/service/RouteService.java → spring5-gateway/src/main/java/com/yaozhitech/spring5/service/RouteService.java


src/main/resources/application.properties → spring5-gateway/src/main/resources/application.properties


src/test/java/com/yaozhitech/spring5/ApplicationTest.java → spring5-gateway/src/test/java/com/yaozhitech/spring5/ApplicationTest.java