简介
上手学习开源项目SrpingBlade,项目地址:
https://gitee.com/smallc/SpringBlade
到2019 年 12 月 6 日 24 点之前,如果觉得此项目不错.
请为SpringBlade投上一票,非常感谢~
投票地址:https://www.oschina.net/project/top_cn_2019
系统软件环境
- win10
- idea 2019.2
- jdk 1.8
- maven 3.x
- nacos 1.1.4
- sential 用的项目提供的docker版本
- mysql 5.7
- seata 0.9
- redis
安装基础环境
sential 安装
- jar运行:
参考官方文档:https://github.com/alibaba/Sentinel/wiki/控制台 - docker运行(开发模式推荐):
拉取镜像: docker pull bladex/sentinel-dashboard
运行镜像:
docker run --name sentinel -d -p 8858:8858 -d bladex/sentinel-dashboard - 访问地址
dashboard 地址:http://localhost:8858
nacos安装
参考
https://blog.csdn.net/qq_40523572/article/details/89364340
seata 安装和配置
参考
https://www.kancloud.cn/smallchill/blade/1289447
开搞项目
下载项目
用idea
弹出框填入项目git地址:
https://gitee.com/smallc/SpringBlade.git
点击clone.等待项目下载完毕.
项目IDEA配置
配置Run Dashboard
若右下角弹出如下提示,则点击 Show run configurations in Run Dashboard
如果错过了可以手动修改
步骤如下:
- 打开项目文件夹下workspace.xml文件
SpringBlade.idea\workspace.xml
在结尾部分</project>
之上添加以下代码
<component name="RunDashboard">
<option name="configurationTypes">
<set>
<option value="SpringBootApplicationConfigurationType" />
</set>
</option>
<option name="ruleStates">
<list>
<RuleState>
<option name="name" value="ConfigurationTypeDashboardGroupingRule" />
</RuleState>
<RuleState>
<option name="name" value="StatusDashboardGroupingRule" />
</RuleState>
</list>
</option>
</component>
可能需要重启IDEA之后,在view>Tool Windows>Services窗口可以设置出来,默认快捷键Alt+8
打开窗口如下,可以点击红色箭头处,展开所有.
配置maven支持
若右下角弹出如下提示,则点击 Add as Maven Project , 等待依赖jar包下载完毕
确认项目右侧(默认位置)有maven窗口,没有可以参照下图打开maven窗口.
maven窗口内容如下
如果maven窗口内容为空,把左侧项目文件夹根目录的pom.xml拖入右侧maven窗口
下载依赖
配置idea maven环境略;
为了省时间和避免不必要报错,可以关掉install中的test模块,点击maven窗口中的下图绿框中的小图标.
之后点击右侧maven窗口里springblade(root)下的Lifecycle菜单下的install.
就慢慢等待下载依赖,以及模块jar包本地安装.
结束的大概如下图
修改项目配置
修改java里的配置,配置nacos,sentienl地址
文件名:CommonConstant.java
所在路径:SpringBlade\blade-common\src\main\java\org\springblade\common\constant\CommonConstant.java
修改有关nacos跟setinel的中间件地址和端口号
分为3版,
DEV开发环境;
TEST测试环境
PROD开发环境.
本例配置只是修改了DEV的环境
slave1 的IP就是192.168.1.222,示例IP或者hosts的名称都可以.
/**
* nacos dev 地址
*/
String NACOS_DEV_ADDR = "slave1:8848";
//其他内容略
/**
* sentinel dev 地址
*/
String SENTINEL_DEV_ADDR = "192.168.1.222:8858";
修改2个seata模块的pom.xml(属于缺失BUG,未知某个新版会修复)
balde-ops下的两个模块
blade-seata-order
blade-seata-storage
的pom.xml都添加如下依赖内容
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-common</artifactId>
<version>${blade.project.version}</version>
</dependency>
<dependency>
<groupId>org.springblade</groupId>
<artifactId>blade-core-launch</artifactId>
<version>${blade.tool.version}</version>
</dependency>
修改数据库链接
推荐全文查找替换关键字,文件类型yaml和yml两种.
jdbc:mysql
具体文件如下
SpringBlade\blade-ops\blade-seata-order\src\main\resources\application-dev.yml
SpringBlade\blade-ops\blade-seata-storage\src\main\resources\application-dev.yml
SpringBlade\doc\nacos\blade-dev.yaml(其他生产,测试环境 为blade-prod.yaml,blade-test.yaml)
可算修改,如果不打算用seata模块就不用改
SpringBlade\blade-ops\blade-seata-order\src\main\resources\application-dev.yml
SpringBlade\blade-ops\blade-seata-storage\src\main\resources\application-dev.yml
按照配置文件里的配置根据自己情况自行修改,下面是数据库名是bladex为例的一个样例.
一般就是修改数据库ip地址跟用户名密码3个地方.
datasource:
dev:
url: jdbc:mysql://数据库所在IP或域名:3306/bladex?useSSL=false&useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&transformedBitIsBoolean=true&tinyInt1isBit=false&allowMultiQueries=true&serverTimezone=GMT%2B8
username: 数据库用户名
password: 数据库密码
初始化数据库
新建数据库
新建数据库bladex
根据需求自行修改数据库名称,下文以bladex为例
导入sql脚本
找到项目里的sql脚本文件夹,按顺序执行SQL脚本(update脚本根据自己下载时的版本自行调整是否执行)
SpringBlade\doc\sql\blade-saber-mysql.sql
SpringBlade\doc\sql\blade-update-2.5.1~2.5.2.sql
本例使用的saber版本
数据库里的一些配置说明
blade_client
表里的web_server_redirect_uri
字段用来配置网关模块地址和端口号,默认值是
http://localhost:8888
,根据需求自行修改.blade_menu
表里的 主键id
11和12两条记录配置的接口文档和和服务治理模块的服务器IP跟端口号,根据自己部署情况自行修改.blade_datasource
表里的配置了代码生成的数据源可以根据需求修改(部署成功后,可以在页面修改)
可选:Seata模块数据库创建和初始化
如果需要部署运行Seata模块,参考模块下的README.md中的SQL脚本去创建数据库跟初始化数据表.
SpringBlade\blade-ops\blade-seata-order\README.md
SpringBlade\blade-ops\blade-seata-storage\README.md
配置Nacos
访问部署Nacos的机器
地址:
部署地址:8848/nacos
默认账号和密码都是nacos
新建配置,参考下图点击
配置列表>右侧的加号
按照下图绿框内容填写和配置,最下面内容来源于项目中的文件.路径如下
SpringBlade\doc\nacos\blade.yaml
最后点击发布
如法炮制
SpringBlade\doc\nacos\blade-dev.yaml
示例都是配置的dev环境,根据自己需求调整为test/prod环境
配置完毕也点发布
但是要注意这个\blade-dev.yaml的配置文件内容,设置了redis和项目的mysql链接,请检查是否需要修改!!!
完成后效果如下
启动项目
测试项目是否部署OK
在IDEA alt+8打开Service面板
选择AuthApplication
模块作为尝试,右键Run运行
在右侧Endpoint标签下的Health标签可以监控项目健康情况.
sentinel启动较慢,开始可能成现是橙色圆圈空心叉子,可以过10来秒点击图片右上角红箭头指示的刷新按钮,看是否会正常.
针对不同组件问题请自行排查/滑稽~
查看nacos的左侧菜单服务列表的实例数跟健康实例数的数量.
因为我在服务器已经启动了一套springblade,上面又单独启动了authApplication(也就是下图 blade-auth,第二条记录),所以实例数,跟健康实例数都是2)
启动项目
分两批启动
第一批
在Service模块选中除GatewayApplication以外所有模块运行起来
第二批
最后启动GatewayApplication
查看接口文档页面
访问
http://你部署的服务器地址:端口号(默认是80)/doc.html
如果忘了端口号:
查看这个文件
SpringBlade\blade-gateway\src\main\resources\bootstrap.yml
的server>port后面的数字
server:
port: 80
具体如何测试,欢迎加Springblade Q群,点赞拿基础文档了解详情~
SpringBlade
交流一群:477853168
交流二群:751253339