开源软件名称:nicefish-spring-cloud
开源软件地址:https://gitee.com/mumu-osc/nicefish-spring-cloud
开源软件介绍:
NiceFish-Spring-CloudNiceFish(美人鱼) 是一个系列项目,目标是全面示范前后端分离的开发模式,前端浏览器、移动端、Electron 环境中的各种开发模式,后端采用基于 SpringCloud 的微服务实现。 技术选型- 服务注册和发现:Consul
- 统一REST服务入口:Zuul
- 服务监控和数据整合:HystrixDashboard+Turbine
- SSO:SpringSecurity+OAuth2+JWT
- MySQL监控:Druid
- 缓存:Redis
- 日志工具:lombok
已实现业务- 文章管理(列表分页查询、新增文章)
- 评论管理(列表分页查询)
- 用户管理(注册、登录、SSO)
Note:考虑到该项目本身的定位,不会做特别复杂的业务实现。 Maven Module 模块功能和依赖关系 Maven 模块之间的依赖关系 - nicefish-spring-cloud:这是root项目,通用的依赖都定义在这个项目的pom.xml中,子Module会自动继承这里的依赖关系。
- nicefish-zuul-server:这是所有外部调用的总入口,Zuul会自动到Consul上获取所有RestAPI,依赖nicefish-user-center模块中的配置和UserEntity等。Zuul内部已经使用了Ribbon和Hystrix,因此不需要单独在pom.xml中引入这两个模块,直接配置即可,默认访问路径是:http://localhost:9500/hystrix
- nicefish-user-center:这是用户中心模块,它是独立的不依赖其它子模块。
- nicefish-blog:这里实现blog相关的功能,如文章和评论等,依赖nicefish-user-center模块中的配置和UserEntity等。
- nicefish-oauth2-jwt:这里实现OAuth和JWT相关的功能,依赖nicefish-user-center模块中的UserEntity和Repository等。
- nicefish-swagger2-api:这里是所有API文档的总入口,依赖nicefish-user-center、nicefish-blog、nicefish-oauth2-jwt模块,解析并生成API文档,访问地址是 http://localhost:9004/swagger-ui.html#/
- Druid 监控访问路径:http://127.0.0.1:9500/druid/index.html ,默认用户名和密码admin/123456
使用方法- 安装配置好JDK,需要Java 1.8以上版本。
- 安装配置好IDEA,并安装lombok插件,@Slf4j日志工具需要用到lombok,参考 https://blog.csdn.net/qq_26525215/article/details/79182628
- 安装配置好maven,或者使用IDEA内置的maven。
- 安装配置好Consul(默认HTTP端口是8500),以dev的方式启动agent(命令行执行consul agent -dev),其它配置请仔细参照官方文档:https://www.consul.io/ 。
- 安装配置好MySQL或者MariaDB,MySQL需要5.x以上,MariaDB需要10.x以上。
- 在你本地的MySQL里面建一个库,名为nicefish,然后执行 /doc/nicefish.sql 建表。
- 克隆项目到你本地:git clone https://gitee.com/mumu-osc/nicefish-spring-cloud.git 。
- 用IDEA导入根项目nicefish-spring-cloud的pom.xml 。
- 启动所有子模块(有顺序):NiceFishOAuthApplication.java、NiceFishUserCenterApplication.java、NiceFishBlogApplication.java、NiceFishZuulServerApplication.java 。
- 使用Postman或者NiceFish的前端项目来测试Restful接口(Zuul网关默认起在9500端口、OAuth服务默认起在9100端口,用户中心模块默认起在9200端口,blog相关的模块默认起在9300端口,Swagger2文档服务默认起在9400端口,内置了一个测试账号[email protected],密码12345678,密码对应的MD5是25d55ad283aa400af464c76d713c07ad) 。
- 前端代码:https://gitee.com/mumu-osc/NiceFish ,NiceFish与本项目对接的代码位于for-spring-cloud分支上,里面有完整的使用说明,请仔细阅读Readme文档。
特别注意- 此项目在 SpringBoot 1.5.9.RELEASE 和 SpringCloud Edgware.RELEASE 测试通过,其它所有版本都未经测试。(SpringBoot和SpringCloud之间存在版本对应关系,版本升级可能需要修改非常多的琐碎细节。如果您需要升级版本,请仔细查阅Spring官方的文档,以免浪费大量时间。)
- 项目本身的代码是独立的,没有与任何前端技术绑定,因此您可以使用任意前端技术接入。
效果截图系列项目关联 QQ 群LicenseMIT |
请发表评论