Coder Social home page Coder Social logo

zhiyidai / ffast-java Goto Github PK

View Code? Open in Web Editor NEW
104.0 15.0 42.0 221 KB

Ffast 基于Srping boot + Mybatis Plus后台管理系统前后分离快速开发解决方案

Home Page: http://39.107.104.190/ffast/

License: MIT License

Java 91.81% TSQL 8.19%
spring-boot jwt msgpack mybatis-plus crud manager

ffast-java's Introduction

Ffast-Java

Ffast 基于Srping boot 2 + Mybatis Plus后台管理系统前后分离快速开发解决方案

简 介

    Ffast 基于Srping boot + Mybatis Plus后台管理系统前后分离快速开发解决方案,并具备以下特点

特点

  • 在Mybatis Plus基础上封装了基础增删改Service Controller。
  • 增删改查CrudController CrudService 支持提供灵活的增删改查前,增删改查后方法提供给子类扩展。
  • 提供CrudConfig增删改查配置注解,可设置查询字段 默认排序字段 是否更新所有字段 更新排除字段...
  • 提供Permission权限注册注解,Logined登录拦截注解,统一的拦截器进行拦截。
  • 可以在application.yml进行项目参数配置。
  • Redis序列化方式可以配置化,支持msgpack jackson fastjson ,并可以使用RedisUtils工具类进行不同的序列方式缓存
  • Session 存放可配置化,支持Redis Jwt 两种方式。
  • 封装了权限验证注解,登录拦截注解、日志注解、增删改查配置注解、简单方便。
  • 使用Flyway进行数据库版本管理,无需导入sql只需配置好数据库配置即可自动执行sql。

前端解决方案Ffast-FE

    Ffast-FE 是一套基于vue iview后台管理系统前端快速开发解决方案
    详细地址 https://github.com/ZhiYiDai/Ffast-FE 

项目结构

    Ffast
    ├── ffast-admin -- 后台管理系统
    ├── ffast-core -- 项目核心代码与工具类
    ├── ffast-generator -- 代码生成器
    ├── ffast-parent -- parent

已实现模块

  • 整体布局界面
  • 用户管理
  • 角色管理
  • 字典管理
  • 权限菜单
  • 接口测试
  • 系统日志
  • 待办事项
  • 定时任务

开发中的模块

  • 代码生成

后端部署

  • git clone 项目
  • 修改application-dev.yml,更新MySQL与Redis配置
  • IDEA导入项目展开ffast-parent 右键pom.xml 选择add maven project添加为maven项目并下载相关jar包
  • IDEA运行ffast-admin项目下的WebApplication.java,则可启动项目

增删改查Controller

    @Controller
    @RequestMapping("/api/sys/res")
    // 增删改查配置注解
    @CrudConfig(updateAllColumn = true,retrievePermission = "")
    // 权限前缀,最后与方法的Permission组合成 res:方法的Permission值
    @Permission(value = "res")
    // 登录拦截(必须为登录状态,在类上注解则拦截类下面所有方法,如果注解在方法上只拦截方法)
    @Logined
    public class ResController extends BaseCrudController<Res, IResService, Long> {
        private static Logger logger = LoggerFactory.getLogger(ResController.class);
        @Resource
        private IResService service;
    
        @Override
        protected IResService getService() {
            return this.service;
        }
    
        @Override
        protected Logger getLogger() {
            return logger;
        }

    }

    /*
        这样就有4个接口
        查询/api/sys/res/list 
        删除/api/sys/res/update 
        删除/api/sys/res/delete 
        更新/api/sys/res/create
        具体实现可以查看BaseCrudController源代码
    */

增删改查Service

    @Service
    public class DictServiceImpl extends CrudServiceImpl<DictMapper, Dict, Long> implements IDictService {
    
        /**
         * 您可以覆盖增删改查前增删改查后方法进行扩展,就不用为了一个简单的需求覆盖了整段增删改查方法
         * 如果返回ServiceResult不为NULL就使用该返回结果
         */
    
        /**
         * 数据插入前
         *
         * @param m
         * @return
         */
        protected ServiceResult createBefore(Dict m) {
            return null;
        }
    
        /**
         * 数据删除前
         *
         * @param ids
         * @return
         */
        protected ServiceResult deleteBefore(String ids) {
            return null;
        }
    
        /**
         * 数据更新前
         *
         * @param m 
         * @param oldM 旧对象
         * @return
         */
        protected ServiceResult updateBefore(Dict m, Dict oldM) {
            return null;
        }
    
        /**
         * 数据查询前
         *
         * @param m
         * @param ew
         * @return
         */
        protected ServiceRowsResult listBefore(Dict m, EntityWrapper<Dict> ew) {
            return null;
        }
    
        /**
         * 数据插入后
         *
         * @param m
         * @return
         */
        protected ServiceResult createAfter(Dict m) {
            return null;
        }
    
        /**
         * 数据删除后
         *
         * @param ids
         * @return
         */
        protected ServiceResult deleteAfter(String ids) {
            return null;
        }
    
        /**
         * 数据更新后
         *
         * @param m
         * @param oldM 旧对象
         * @return
         */
        protected ServiceResult updateAfter(Dict m, Dict oldM) {
            return null;
        }
    
        /**
         * 数据查询后
         *
         * @param m
         * @param resultList 查询结果集
         * @return
         */
        protected ServiceRowsResult listAfter(Dict m, List<Dict> resultList) {
            return null;
        }
    }

效果图

image image image image image image image image image image

增删改查配置(@CrudConfig)

  • updateAllColumn 是否更新所有字段
  • properties 查询字段
  • simpleProperties 简单的查询字段
  • sortField 默认排序字段
  • isAsc 默认是否升序
  • updateIgnoreProperties 增加接口权限名

更多详细请阅读代码,说明文档完善中...

ffast-java's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ffast-java's Issues

111

项目如何部署

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.