# 项目介绍
[![Build Status](assets/passing.svg)](https://travis-ci.org/7040210/SuperBoot)[![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)[![GitHub stars](https://img.shields.io/github/stars/7040210/SuperBoot.svg?style=social&label=Stars)](https://github.com/7040210/SuperBoot) [![GitHub forks](https://img.shields.io/github/forks/7040210/SuperBoot.svg?style=social&label=Fork)](https://github.com/7040210/SuperBoot)
[![Average time to resolve an issue](http://isitmaintained.com/badge/resolution/7040210/SuperBoot.svg)](http://isitmaintained.com/project/7040210/SuperBoot "Average time to resolve an issue")
[![Percentage of issues still open](http://isitmaintained.com/badge/open/7040210/SuperBoot.svg)](http://isitmaintained.com/project/7040210/SuperBoot "Percentage of issues still open")
SuperBoot框架是基于SpringCloud、SpringBoot敏捷开发框架,框架开发初衷是为了方便快速开发项目,无需关心基础代码的编写,可以更专注于业务本身。框架实现基于JWT Token授权验证,实现单点登录SSO,服务鉴权,实现Redis数据缓存,在保证数据一致性的前提下提高接口响应速度。无缝集成MongoDB数据库,提供对非结构型数据存储,解决关系型数据库瓶颈问题。集成swagger框架,实现自动API测试及调试功能,解决程序员最反感的编写技术文档的问题。数据源基于Druid,提供更高性能及SQL监控。框架提供统一异常处理,统一响应结果,增加对JPA、Mongo的AOP拦截,由Snowflake ID自动生成赋值主键,数据实体无需开发均可由Idea自动生成。增删改查默认基于方法名称即可实现,无需写具体SQL。查询支持JPA、QueryDSL、Mybatis等方式。支持数据库读写分离,Feign增加服务直接的安全调用。v01版本是基础学习,主分支基于目前线上功能拆出来的功能模块,实现开箱即用。
## 项目结构
``` lua
super-boot
├── client-config -- 项目配置文件信息,业务模块通过配置中心读取自动配置服务
├── project_info -- 项目相关信息包含数据字典、SQL语句、工具等
├── super-boot-utils -- 项目公用工具模块
├── super-boot-base -- 项目公用常量模块
├── super-boot-global -- 项目公用全局模块
├── super-boot-registry -- 注册中心
├── super-boot-config -- 配置中心
├── super-boot-gateway -- 网关中心
├── super-boot-user -- 用户中心
```
## 数据流程图
```sequence
客户端->> 网关:提交请求
网关->> 验证身份:身份验证
验证身份-->>客户端:验证未通过
验证身份->>Redis:写入用户信息
网关->> 业务处理:提交业务请求数据
Redis-->>业务处理:获取用户信息
业务处理->>客户端:返回结果数据
```
```sequence
网关->>注册中心:注册服务
微服务->>注册中心:注册服务
配置中心->>注册中心:注册服务
配置中心->>网关:获取配置
配置中心->>微服务:获取配置
客户端->>网关:提交请求
Note right of 网关: 验证用户身份、生成用户Redis信息
网关->>微服务:获取用户信息
微服务->>网关:返回用户信息
网关->>客户端:返回结果数据
```
## 项目依赖
此分布式项目要求配置人员有相关的从业经验,在启用之前要安装好MongoDB,Zookeeper、Kafka、Mysql、Redis等环境,然后修改项目内的具体配置信息。最后导入db.sql文件到数据库即可。
## 相关账号密码
注册中心及配置中心:
账号:admin
密码:superboot.org
MYSQL:
用户:root
密码:root
系统管理员:
账号:admin
密码:123456
组织管理员:
账号:group
密码:123456
## 项目启动顺序
1、启动注册中心(super-boot-registry)
<br> 2、启动配置中心(super-boot-config)
<br> 3、启动网关中心(super-boot-gateway)
<br> 4、启动业务模块(无先后顺序,项目内包含user为用户中心)
## 模块介绍
> super-boot-utils
此模块项目共用工具类及通用方法常量等信息,项目打包的时候会打包为jar包放入项目lib中。
> super-boot-base
此模块项目公用常量信息,项目打包的时候会打包为jar包放入项目lib中。
> super-boot-global
此模块项目公共服务,提供读写分离、缓存、鉴权、多语等一系列功能,项目打包的时候会打包为jar包放入项目lib中。
> super-boot-registry
此模块为注册中心,提供所有服务模块的注册、容错、负载均衡等功能。分布式环境中需要配置为高可用集群模式,要保证注册中心的稳定。
<br>启动后可以访问 http://localhost:10000
> super-boot-config
此模块为配置中心,在分布式环境中需要配置为高可用集群模式,增加安全及稳定性。
<br>启动后可以访问 http://localhost:11000/config-info.yml
> super-boot-gateway
此模块为API网关中心,提供统一的API调用接口及相关配置功能,支持限流、权限认证等功能。
<br>启动后可以访问 http://localhost:9080/swagger-ui.html
> super-boot-user
此模块为用户中心,提供用户注册、密码修改等相关功能。
<br>启动后可以访问 http://localhost:8090/swagger-ui.html
## Idea逆向生成数据库实体类
### 第一步配置 数据库
![第一步配置 数据库](project_info/png/genentity/0.png)
### 第二步配置 数据库连接信
![第二步配置 数据库连接信息](project_info/png/genentity/1.png)
### 第三步 配置hibernate,如果没有cfg.xml文件,点击ok后会自动生成
![第三步 配置hibernate,如果没有cfg.xml文件,点击ok后会自动生成](project_info/png/genentity/2.png)
### 第四步 选择hibernate配置文件生成实体
![第四步 选择hibernate配置文件生成实体](project_info/png/genentity/3.png)
### 第五步 设置完点击,选中要生成的实体的表
![第五步 设置完点击,选中要生成的实体的表](project_info/png/genentity/4.png)
## 项目API接口自动添加到数据库示例代码
### 生成效果图
![注解类型](project_info/png/api.png)
### 使用方式为在启动类添加如下代码即可
~~~~java
@Autowired
private Pub_DBUtils pub_DBUtils;
/**
* 扫描URL,如果数据库中不存在,则保存入数据库
*/
//这个注解很重要,可以在每次启动的时候检查是否有URL更新,RequestMappingHandlerMapping只能在controller层用。这里我们放在主类中
@PostConstruct
public void detectHandlerMethods() {
pub_DBUtils.addApiToDB();
}
~~~~
## 项目启用校验国际化功能
### 1、RESTful增加 @Validated 注解
### 2、实体类增加需要校验的注解类型即可
#### 主要用到的注解类型
![注解类型](project_info/png/validate.png)
## Spring Data JPA 为此提供了一些表达条件查询的关键字,大致如下:
#### And --- 等价于 SQL 中的 and 关键字,比如 findByUsernameAndPassword(String user, Striang pwd)
#### Or --- 等价于 SQL 中的 or 关键字,比如 findByUsernameOrAddress(String user, String addr)
#### Between --- 等价于 SQL 中的 between 关键字,比如 findBySalaryBetween(int max, int min)
#### LessThan --- 等价于 SQL 中的 "<",比如 findBySalaryLessThan(int max)
#### GreaterThan --- 等价于 SQL 中的">",比如 findBySalaryGreaterThan(int min)
#### IsNull --- 等价于 SQL 中的 "is null",比如 findByUsernameIsNull()
#### IsNotNull --- 等价于 SQL 中的 "is not null",比如 findByUsernameIsNotNull()
#### NotNull --- 与 IsNotNull 等价
#### Like --- 等价于 SQL 中的 "like",比如 findByUsernameLike(String user)
#### NotLike --- 等价于 SQL 中的 "not like",比如 findByUsernameNotLike(String user)
#### OrderBy ---等价于 SQL 中的 "order by",比如 findByUsernameOrderBy
没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
收起资源包目录
本框架无需开发即可实现服务注册、服务发现、负载均衡 (304个子文件)
Dockerfile 528B
Dockerfile 526B
Dockerfile 526B
Dockerfile 523B
.gitignore 268B
.gitignore 268B
.gitignore 268B
.gitignore 268B
.gitignore 268B
.gitignore 268B
.gitignore 268B
.gitignore 268B
PinYinUtils.java 87KB
DateUtils.java 33KB
FileUtils.java 26KB
UserServiceImpl.java 23KB
Pub_RedisUtils.java 20KB
StringUtil.java 19KB
Pub_Tools.java 19KB
PubServiceImpl.java 16KB
IdcardUtil.java 16KB
MenuServiceImpl.java 14KB
SensitiveWordUtil.java 13KB
TreeUtils.java 13KB
ImgUtil.java 13KB
Pub_WebUtils.java 13KB
EmployeesServiceimpl.java 12KB
Pub_AuthUtils.java 12KB
RoleServiceImpl.java 12KB
ControllerAspect.java 11KB
ReflectionUtils.java 11KB
SensitiveInfoUtils.java 9KB
Pub_DBUtils.java 9KB
JWT_Utils.java 8KB
OrgServiceImpl.java 8KB
RequestBodyDecryptWrapper.java 8KB
OCRUtils.java 8KB
BaseController.java 8KB
GroupServiceImpl.java 8KB
CaptchaUtil.java 7KB
GenericsUtils.java 7KB
BaseConstants.java 7KB
GlobalExceptionHandler.java 7KB
DutiesServiceImpl.java 7KB
SuperbootUser.java 6KB
SnowflakeIdWorker.java 6KB
JpaAspect.java 6KB
SuperbootResource.java 5KB
SuperbootMenu.java 5KB
MoneyUtil.java 5KB
IdcardInfoUtil.java 5KB
CRC32Utils.java 5KB
RandomStrUtils.java 5KB
SysMenuController.java 5KB
SuperbootOrg.java 5KB
SuperbootOrg.java 5KB
UserEmployeesRelaServiceImpl.java 5KB
RedisCacheConfig.java 4KB
AESUtil.java 4KB
PermissionsServiceImpl.java 4KB
FunctionUtils.java 4KB
SysUserController.java 4KB
SuperbootPermissions.java 4KB
SuperbootRole.java 4KB
StatusCode.java 4KB
SuperbootEmployees.java 4KB
SuperbootAuthorization.java 4KB
SuperbootDuties.java 4KB
Swagger2Config.java 4KB
SysRoleController.java 4KB
DESUtil.java 4KB
BeanUtils.java 4KB
BaseService.java 4KB
DataInfo.java 4KB
SuperbootGroup.java 3KB
SysGroupController.java 3KB
SuperbootPermissionsResource.java 3KB
UserController.java 3KB
PubServiceImpl.java 3KB
SuperbootEmployeesDuties.java 3KB
SuperbootMenuPermissions.java 3KB
MenuAuthServiceImpl.java 3KB
SuperbootUserEmployees.java 3KB
LogServiceImpl.java 3KB
UserService.java 3KB
SuperbootModule.java 3KB
ErrorLogServiceImpl.java 3KB
SuperbootUserRole.java 3KB
SuperbootRoleMenu.java 3KB
EmployeesService.java 3KB
PrettyMemoryUtils.java 3KB
ErrorInfo.java 3KB
MapperConfig.java 3KB
DataSourceAspect.java 3KB
DataSourceTransactionConfig.java 3KB
EncryptUtils.java 3KB
SysErrLogController.java 3KB
RequestUtil.java 3KB
SysLogController.java 3KB
JdbcUtil.java 3KB
共 304 条
- 1
- 2
- 3
- 4
资源评论
zero2100
- 粉丝: 165
- 资源: 2464
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功