提交 6246bfe0 编写于 作者: lab_gzf's avatar lab_gzf

更新 README.md

上级 17836b83
前言
1. 简介
## 前言
### 1. 简介
我们的目标为您生成一个完整和现代Web应用或者微服务架构, 具体如下:
基于Spring Boot, 提供高性能和健壮的Java技术栈服务端 基于Vue, 提供时尚、现代、移动优化的前端 一个健壮的微服务架构, 包括Gateway,Microservice,Nocas, Elastic组件和Docker等 使用Yarn和Maven为应用构建提供强大的支撑
2. 后端技术栈
完整的[Spring](https://spring.io/)应用:
- 基于[Spring Boot](https://spring.io/projects/spring-boot)提供应用配置简化
- [Maven](https://maven.apache.org/)构建,测试,运行应用
- [Spring Security](https://spring.io/projects/spring-security)组件
- [JSON Web](https://jwt.io/)令牌(JWT)身份验证安全机制
- [Spring MVC REST](https://spring.io/guides/gs/rest-service/) + Jackson
- [Swagger](https://swagger.io/)来自动生成REST Controller API文档
- [Zalando Problem Spring Web](https://github.com/zalando/problem-spring-web)处理异常
- [Mybatis-plus / Spring Data JPA](https://mp.baomidou.com/)和Bean校验
- 基于[Liquibase](https://www.liquibase.org/)数据库更新
- [Elasticsearch](https://github.com/elastic/elasticsearch)支持,如果你需要基于你的数据库提供高级搜索能力
- [MongoDB](https://www.mongodb.com/)支持, 如果你想使用面向文档的NOSQL数据库替代JPA
- [RocketMQ](http://rocketmq.apache.org/)支持, 如果你需要一个消息发布订阅系统
- 构建标准可执行的JAR文件
微服务[Microservices](https://microservices.io/):
-[于Netflix Zuul](https://github.com/Netflix/zuul)的HTTP流量路由
- 基于[Nacos](https://nacos.io/zh-cn/index.html)[Eureka](https://github.com/Netflix/eureka)的服务发现
- 基于[Feign](https://github.com/OpenFeign/feign)的服务消费客户端
生产环境组件:
- 使用[Druid](https://github.com/alibaba/druid)[ELK Stack](https://www.elastic.co/cn/products/)监控
- 使用[Caffeine](https://github.com/ben-manes/caffeine) +[ Redis](https://redis.io/)提供两级缓存
- 静态资源优化 (gzip filter, HTTP cache headers)
- 使用[Logback](http://logback.qos.ch/)管理日志,可在运行时配置日志输出
- 使用[dynamic datasource](https://gitee.com/baomidou/dynamic-datasource-spring-boot-starter)多库切换和读写分离,极致的性能提升
- 使用[xxl-job](https://github.com/xuxueli/xxl-job)任务调度引擎
- 完整的[Docker](https://www.docker.com/)[Docker Compose](https://github.com/docker/compose)支持
代码结构
1. 整体结构
|─ ─ iBizEAM
|─ ─ app_EAMXXX Vue代码
|─ ─ public 静态资源引用
|─ ─ src Vue页面源代码
|─ ─ eam-app 前端web网关,下级可含多个独立gateway子项目
|─ ─ -app-web 具体app网关 JS+html+zuulproxy,含boot
|─ ─ eam-boot 开发者调试快速启动 debug boot
|─ ─ eam-core 系统后台核心代码,domain+service
|─ ─ eam-dependencies 项目依赖组件版本控制,dependencyManagement
|─ ─ eam-provider 服务接口提供,下级可含多个microservice子项目
|─ ─ eam-provider-api 具体微服务接口,dto+rest,含boot
|─ ─ eam-util 公共辅助项目,util+helper
2. core子项目结构
基于Spring Boot, 提供高性能和健壮的Java技术栈服务端
基于Vue, 提供时尚、现代、移动优化的前端
一个健壮的微服务架构, 包括Gateway,Microservice,Nocas, Elastic组件和Docker等
使用Yarn和Maven为应用构建提供强大的支撑
### 2. 后端技术栈
#### 完整的[Spring应用](https://spring.io/):
* 基于[Spring Boot](https://projects.spring.io/spring-boot/)提供应用配置简化
* [Maven](https://maven.apache.org/)构建,测试,运行应用
* [Spring Security](https://docs.spring.io/spring-security/site/index.html)组件
* [JSON Web令牌(JWT)](https://jwt.io/)身份验证安全机制
* [Spring MVC REST](https://spring.io/guides/gs/rest-service/) + [Jackson](https://github.com/FasterXML/jackson)
* [Swagger](https://swagger.io/)来自动生成REST Controller API文档
* [Zalando Problem Spring Web](https://github.com/zalando/problem-spring-web)处理异常
* ~~基于Spring websocket组件, 可选的Websocket支持~~
* [Mybatis-plus](https://mp.baomidou.com/) / [Spring Data JPA](https://projects.spring.io/spring-data-jpa/)和Bean校验
* 基于[Liquibase](http://www.liquibase.org/)数据库更新
* [Elasticsearch](https://github.com/elastic/elasticsearch)支持,如果你需要基于你的数据库提供高级搜索能力
* [MongoDB](https://www.mongodb.org/)支持, 如果你想使用面向文档的NOSQL数据库替代JPA
* [~~Cassandra~~](https://cassandra.apache.org/)~~支持, 如果你想使用面向列的NOSQL数据库替代JPA~~
* [RocketMQ](http://rocketmq.apache.org/)支持, 如果你需要一个消息发布订阅系统
* 构建标准可执行的JAR文件
#### 微服务[Microservices](https://microservices.io):
* 基于[Netflix Zuul](https://github.com/Netflix/zuul)的HTTP流量路由
* 基于[Nacos](https://nacos.io/zh-cn/index.html)[Eureka](https://github.com/Netflix/eureka)的服务发现
* 基于[Feign](https://github.com/OpenFeign/feign)的服务消费客户端
#### 生产环境组件:
* 使用[Druid](https://github.com/alibaba/druid)[ELK Stack](https://www.elastic.co/products)监控
* 使用[Caffeine](https://github.com/ben-manes/caffeine) + [Redis](https://redis.io/)提供两级缓存
* 静态资源优化 (gzip filter, HTTP cache headers)
* 使用[Logback](http://logback.qos.ch/)管理日志,可在运行时配置日志输出
* 使用[dynamic datasource](https://gitee.com/baomidou/dynamic-datasource-spring-boot-starter)多库切换和读写分离,极致的性能提升
* 使用[xxl-job](https://github.com/xuxueli/xxl-job)任务调度引擎
* 完整的[Docker](https://www.docker.com/)[Docker Compose](https://github.com/docker/compose)支持
* ~~支持云服务提供商: …~~
## 代码结构
### 1. 整体结构
```
|─ ─ iBizEHR
|─ ─ app_EHRXXX Vue代码
|─ ─ public 静态资源引用
|─ ─ src Vue页面源代码
|─ ─ ehr-app 前端web网关,下级可含多个独立gateway子项目
|─ ─ ehr-app-web 具体app网关 JS+html+zuulproxy,含boot
|─ ─ ehr-boot 开发者调试快速启动 debug boot
|─ ─ ehr-core 系统后台核心代码,domain+service
|─ ─ ehr-dependencies 项目依赖组件版本控制,dependencyManagement
|─ ─ ehr-provider 服务接口提供,下级可含多个microservice子项目
|─ ─ ehr-provider-api 具体微服务接口,dto+rest,含boot
|─ ─ ehr-util 公共辅助项目,util+helper
```
### 2. core子项目结构
```
ibzou-core 项目基于“后台服务体系”发布,core项目为整个工程项目的核心,主要包括各个实体:
domain定义
dao层(mapper/repository/feignclient)
service
|─ ─ ehr-core
|─ ─ src
|─ ─ main
|─ ─ java
|─ ─ cn.ibizlab 代码包名
|─ ─ core 子项目类型
|─ ─ ou 模块名
|─ ─ domain 各实体domain定义
|─ ─ filter 各实体查询过滤器
|─ ─ mapper 各实体dao层
|─ ─ service 各实体service接口定义
|─ ─ impl 各实体service实现
|─ ─ resources
|─ ─ liquibase 数据库结构版本控制
|─ ─ mapper mybatis mapper.xml
|─ ─ ou
|─ ─ target
Markdown 格式
0% or
您添加了 0 到此讨论。请谨慎行事。
先完成此消息的编辑!
想要评论请 注册