1 Star 0 Fork 13

吕氏春秋 / portal

forked from 薛凌康 / portal 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

基于spring boot的快速开发框架

Talk is cheap. Show you my code.

链接

Github 码云

目录结构

portal
├── boot ········································ 整合常用组件
│   ├── starter ································· 自定义 spring boot starter 聚合工程
│   │   ├── sftp ································ sftp 聚合工程
│   │   │   ├── sftp-client ····················· sftp client 实现
│   │   │   └── sftp-client-spring-boot-starter · sftp client spring boot starter
│   │   └── swagger2 ···························· swagger2 聚合工程
│   │       ├── swagger2-annotations ············ 扩展注解
│   │       ├── swagger2-extension ·············· swagger2 扩展
│   │       └── swagger2-spring-boot-starter ···· swagger2 spring boot starter
│   ├── core ···································· 框架的公共接口和对象
│   ├── persistent ······························ 持久层接口
│   ├── mybatis ································· 基于 mybatis plus 实现持久层
│   ├── elasticsearch ··························· 基于 elasticsearch 实现持久层
│   ├── redis ··································· redis 配置,分布式锁,pipeline工具,限流器
│   ├── cache ··································· redis 缓存配置,扩展缓存管理器,定义常用KeyGenerator
│   ├── webmvc ·································· web 项目通用配置,序列化、参数验证、异常拦截等
│   ├── feign ··································· feign 通用配置,支持对象传参和form-data
│   └── enhance ································· 编译期增强,自动管理缓存,必须和mybatis、cache同时使用
├── develop ····································· 开发环境,基于docker-compose
│   ├── mysql ··································· mysql 配置、初始数据
│   ├── elasticsearch ··························· elasticsearch 配置和分词器
│   └── kibana ·································· kibana 配置
└── webapps ····································· webapp 聚合工程
    ├── common ·································· 公共对象、常量
    ├── system ·································· 系统模块,用户、角色、应用等
    ├── content ································· 内容模块
    ├── file ···································· 文件模块
    ├── notice ·································· 通知模块
    ├── queue ··································· 消息队列模块
    ├── task ···································· 任务调度模块
    ├── remote ·································· 远程接口
    ├── gateway ································· 网关
    ├── admin ··································· 后台
    ├── master ·································· 前台
    └── sso ····································· 单点登录
        ├── sso-common ·························· 公共对象、常量
        ├── sso-server ·························· 单点登录server
        └── sso-client ·························· 单点登录client,通用接口和feign接口

使用方式

导入依赖管理

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>com.xzixi.framework</groupId>
            <artifactId>boot</artifactId>
            <version>2.2.2</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

导入需要的包

<!-- sftp连接池启动器 -->
<dependency>
    <groupId>com.xzixi.framework</groupId>
    <artifactId>sftp-client-spring-boot-starter</artifactId>
</dependency>
<!-- swagger2启动器 -->
<dependency>
    <groupId>com.xzixi.framework</groupId>
    <artifactId>swagger2-spring-boot-starter</artifactId>
</dependency>
<!-- mybatis-plus实现持久层 -->
<dependency>
    <groupId>com.xzixi.framework</groupId>
    <artifactId>mybatis</artifactId>
</dependency>
<!-- elasticsearch实现持久层 -->
<dependency>
    <groupId>com.xzixi.framework</groupId>
    <artifactId>elasticsearch</artifactId>
</dependency>
<!-- redis配置 -->
<dependency>
    <groupId>com.xzixi.framework</groupId>
    <artifactId>redis</artifactId>
</dependency>
<!-- 缓存配置 -->
<dependency>
    <groupId>com.xzixi.framework</groupId>
    <artifactId>cache</artifactId>
</dependency>
<!-- 常用依赖、配置 -->
<dependency>
    <groupId>com.xzixi.framework</groupId>
    <artifactId>webmvc</artifactId>
</dependency>
<!-- feign通用配置 -->
<dependency>
    <groupId>com.xzixi.framework</groupId>
    <artifactId>feign</artifactId>
</dependency>
<!-- 编译期增强 -->
<dependency>
    <groupId>com.xzixi.framework</groupId>
    <artifactId>enhance</artifactId>
    <scope>provided</scope>
</dependency>

更新日志

current
  • 替换httpclient,解决java.net.HttpURLConnection不支持PATCH请求的问题
  • 增加redis限流器
2020.12.15 v2.2.2
  • 增加转换@SpringQueryMap参数的工具
  • 全局异常拦截的顺序调整到最低
  • 修复调用远程接口异常拦截
  • 增加RedisScanService
  • 全局异常拦截增加IllegalArgumentException
  • 优化Md5SignServiceImpl
  • 增加feign通用配置模块
2020.11.18 v2.2.1
  • 优化enhance模块生成的listByIds方法
  • enhance模块追加方法和属性时增加检查,防止重复定义
2020.11.17 v2.2.0
  • 新增RedisPipelineService
  • 优化CacheEnhanceProcessor生成的listByIds方法
  • 简化@CacheEnhance注解,去掉baseCacheName和casualCacheName
  • 将@EnableXXX注解替换为autoconfigure
  • 修复自定义Annotation Processor导致编译报错的问题
2020.11.08 v2.1.2
  • 优化依赖管理
2020.11.08 v2.1.1
  • 修正maven依赖bug
  • 全局异常拦截修正
  • 将mybatis、elasticsearch、redis、cache从webmvc模块中拆分出来
  • redis实现可重入分布式锁
2020.11.02 v2.1.0
  • 代码生成器增加默认模板配置
  • 代码生成器跨项目生成代码
  • 公共全局异常拦截
  • swagger2启动器优化
  • 增加RemoteException,调用远程接口异常
  • 增加签名工具
2020.10.12 v2.0.0
  • 修改maven坐标和包名
2020.10.11 v1.0.1
  • 修正发布配置
2020.10.10 v1.0.0
  • 发布第一个版本
  • 编译期增强模块
  • sftp和swagger2扩展和springboot启动器
  • 常用web组件整合,可以通过@EnableXXX注解快速配置

启动webapp

执行以下操作的前提是,Linux操作系统,已经安装了dockerdocker-compose,且当前用户有docker权限

  1. 重要enhance模块不要开启idea的Enable annotation processing选项
  2. 在develop目录下执行命令docker-compose up -d
  3. webapps下的contentfilenoticequeuesystemtask项目设置VM参数:-javaagent:/path/to/aspectjweaver/aspectjweaver-1.9.6.jar
  4. 使用maven package命令打包boot模块,mvn clean package -Dmaven.test.skip=true
  5. 启动项目

空文件

简介

基于spring boot的快速开发框架 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Java
1
https://gitee.com/MaxLv/portal.git
git@gitee.com:MaxLv/portal.git
MaxLv
portal
portal
master

搜索帮助