Skip to content

Commit 409bbdf

Browse files
committed
add readme
1 parent 4cb510e commit 409bbdf

File tree

1 file changed

+160
-22
lines changed

1 file changed

+160
-22
lines changed

README.md

Lines changed: 160 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Spring Cloud 开发框架使用指南
22

3-
## 环境版本
3+
## 组件及工具使用版本说明
44

55
*组件*| *版本*|*必要性*
66
---|---|---
@@ -13,38 +13,176 @@ RabbitMQ|3.7.19|✓
1313
Docker|18.06+|
1414
Docker-compose|1.24.1|
1515
Docker-compose File|3.7|
16-
## 项目架构
1716

1817
## 开发环境配置
19-
- **使用Oracle数据库**
20-
21-
- 注册Oracle驱动
18+
- 开发环境必须具备以下基本工具依赖
19+
- JDK及其命令行工具
20+
- Maven命令行工具
21+
- Maven依赖源(私库、镜像源、本地源)
22+
- IDE(推荐Jetbrains IDEA)
23+
- Docker(如果不准备使用,那么基于Docker的一键开发依赖组件配置就无法使用,需要手工提供开发依赖环境)
24+
25+
- Oracle数据库驱动
26+
1. 说明
27+
- ojdbc?.jar Oracle数据库客户端驱动
28+
- ucp.jar Oracle数据库连接池驱动
2229

23-
执行scripts/oracle/11.2目录下install脚本来注册ojdbc和ucp到本地maven repository
30+
2. 注册Oracle驱动到本地库
31+
32+
在开发机上执行scripts/oracle/11.2目录下install脚本来注册ojdbc和ucp到本地库
33+
34+
备注:项目自带驱动支持版本为11.2的Oracle数据库,如果使用其他版本,请自行去[Oracle官方网站](www.oracle.com)下载对应驱动替换ojdbc?.jar和ucp.jar,并修改install脚本中对应的文件名
35+
36+
## 项目目录
2437

25-
项目自带驱动支持版本为11.2的Oracle数据库,如果使用其他版本,请自行去www.oracle.com下载对应驱动替换ojdbc?.jar和ucp.jar,并修改install脚本中对应的文件名
38+
├── additional 附加组件,包括Oracle11g2 Java访问组件(jar)及Maven Local Repository注册脚本
39+
├── auth-server 基于Spring Security OAuth的SSO单点登录
40+
├── common 通用工具类
41+
├── config-server 基于Spring Cloud Config的配置管理服务
42+
├── eureka-server 基于Spring Cloud Netflex组件的Eureka注册中心
43+
├── ops
44+
│  ├── admin-server Spring Boot Admin JVM服务监控
45+
│ ├── hystrix-dashboard Hystrix断路器展示服务
46+
│ └── turbine-server Hystrix断路器汇聚服务
47+
├── scripts 数据库创建脚本(在docker-compose.yaml文件中被引用)
48+
└── service 业务服务(所有业务开发服务请放置于该目录下)
49+
│ ├── user-info 样例用户服务
50+
│ └── zuul Api Gateway网关服务
51+
├── .gitignore
52+
├── docker-compose.yaml 基于Docker Compose的开发依赖组件配置文件
53+
├── Oracle DB docker image guide.md
54+
├── README.md
55+
└── pom.xml
56+
57+
## 快速启动
58+
59+
### 数据库初始化
60+
61+
- 修改数据库连接参数(需要数据库访问的项目根目录下pom.xml文件)
62+
```xml
63+
<properties>
64+
<jdbcDriver>oracle.jdbc.OracleDriver</jdbcDriver>
65+
<!-- TIPS: 该处使用了XML CDATA来处理数据库连接字符串中的特殊符号 -->
66+
<jdbcURL><![CDATA[jdbc:oracle:thin:@localhost:1521:XE]]></jdbcURL>
67+
<jdbcUserId>newtouch</jdbcUserId>
68+
<jdbcPassword>123456</jdbcPassword>
69+
</properties>
70+
```
71+
- 执行数据库环境初始化命令
72+
```bash
73+
cd [子项目根目录]
74+
mvn flyway:migrate
75+
```
76+
如果执行失败可以先使用以下命令进行环境清空,然后重新执行初始化命令
77+
```bash
78+
mvn flyway:clean
79+
```
80+
81+
### 编译打包
82+
- 执行编译打包命令
83+
```bash
84+
cd [项目根目录]
85+
mvn clean package -Dmaven.test.skip=true
86+
```
87+
### 启动及测试
88+
- (可选)启动依赖环境组件(MySQL、ORACLE、REDIS、RabbitMQ、Spring Boot Admin、Eureka、Turbine、Hystrix Dashboard、Zipkin)
89+
```bash
90+
cd [项目根目录]
91+
docker-compose up -d
92+
```
93+
- 顺序启动子项目
94+
```bash
95+
96+
```
97+
## 特性说明
98+
99+
### Maven插件
100+
101+
#### 数据库版本管理插件 flyway-maven-plugin
102+
103+
#### Docker镜像打包插件 dockerfile-maven-plugin
104+
105+
#### 数据库ORM代码自动生成器插件 mybatis-generator-maven-plugin
106+
107+
### 其他特性
108+
#### Oracle数据库
26109

27110
- 添加pom依赖
28111
29-
在项目根目录的<dependencyManagement>段中添加依赖管理
112+
- 在根项目的pom.xml的<dependencyManagement>段中添加依赖管理
30113
```xml
31114
<dependencies>
32-
<!-- Oracle 11gR2 Jdbc 驱动 -->
33-
<dependency>
34-
<groupId>com.oracle</groupId>
35-
<artifactId>ojdbc6</artifactId>
36-
<version>11.2.0.4.0</version>
37-
</dependency>
38-
<!-- Oracle 11gR2 通用数据库连接池 -->
39-
<dependency>
40-
<groupId>com.oracle</groupId>
41-
<artifactId>ucp</artifactId>
42-
<version>11.2.0.3.0</version>
43-
</dependency>
115+
<!-- 省略其他依赖 -->
116+
<!-- Oracle 11gR2 Jdbc 驱动 -->
117+
<dependency>
118+
<groupId>com.oracle</groupId>
119+
<artifactId>ojdbc6</artifactId>
120+
<version>11.2.0.4.0</version>
121+
</dependency>
122+
<!-- Oracle 11gR2 通用数据库连接池 -->
123+
<dependency>
124+
<groupId>com.oracle</groupId>
125+
<artifactId>ucp</artifactId>
126+
<version>11.2.0.3.0</version>
127+
</dependency>
44128
</dependencies>
45129
```
130+
131+
- 在业务服务项目的pom.xml的<dependencies>段中添加依赖,此处不用再指定驱动版本
132+
```xml
133+
<dependencies>
134+
<!-- 省略其他依赖 -->
135+
<!-- Oracle 11gR2 Jdbc 驱动 -->
136+
<dependency>
137+
<groupId>com.oracle.ojdbc</groupId>
138+
<artifactId>ojdbc6</artifactId>
139+
<scope>runtime</scope>
140+
</dependency>
141+
<dependency>
142+
<groupId>com.oracle.ojdbc</groupId>
143+
<artifactId>ucp</artifactId>
144+
</dependency>
145+
</dependencies>
146+
```
147+
- Oracle数据库访问项目配置(样例项目User-Info)
148+
- 在applicaton-xxx.yaml文件中添加以下内容
149+
```yaml
150+
spring:
151+
datasource:
152+
driver-class-name: oracle.jdbc.OracleDriver
153+
url: jdbc:oracle:thin:@localhost:1521:XE
154+
username: newtouch
155+
password: 123456
156+
```
157+
158+
#### 数据库ORM组件 MyBatis
159+
160+
#### MyBatis自动分页插件 PageHelper
161+
162+
#### 基于注解的参数校验
163+
164+
#### Spring Cloud特性
165+
166+
##### 注册服务 Eureka
167+
168+
##### 单点登录服务 Security OAuth2 JWT
169+
170+
##### 配置服务 Config
171+
172+
##### 客户端负载均衡 Ribbon
173+
174+
##### 声明式服务调用 Feign
175+
176+
##### 容错保护 Hystrix
177+
178+
##### 服务网关 Zuul
179+
180+
##### 基于消息驱动开发 Stream
181+
182+
##### 分布式链路跟踪 Open Zipkin
46183

47-
## 样例项目
184+
##### 服务监控 Admin
48185

49-
## 开发测试
186+
##### 集群断路聚合 Turbine
50187

188+
##### 集群断路监控 Turbine Dashboard

0 commit comments

Comments
 (0)