Skip to content

脚手架工程(springboot + springsecurity + mybatis + redis + swagger + oauth2),内含freemarker的代码生成器

Notifications You must be signed in to change notification settings

Janche/springboot-security-project

Folders and files

NameName
Last commit message
Last commit date
Aug 19, 2020
Jul 20, 2020
Jul 20, 2020
Sep 16, 2020
Sep 21, 2020
Nov 12, 2019
Sep 16, 2020
Feb 27, 2019
Jun 17, 2022

Repository files navigation

springboot-security-project

基于springboot2 + springsecurity + mybatis + redis + swagger + oauth2 的脚手架工程(前后端分离)

  1. 配置了mybatis的通用mapper,单表操作无需写SQL,实现了批量插入、批量删除等功能。
  2. 内含freemarker的代码生成器,可以一键根据表名直接生成controller、service、dao、mapper等基础代码, 大大提高了开发效率,让你更专注于对业务的开发。
  3. spring-security目前使用的是基于权限的动态校验,采用黑名单的方式对接口权限的判断。
  4. 框架内已包含许多工具类,MD5加密、json、POI的excel文档操作,以及时间和日期等常见工具类。
  5. 采用了@Log对项目日志的记录。
  6. 接口文档地址:http://localhost:9999/doc.html (采用knife4j的文档风格)
  7. 加入对OAuth2的支持,这部分代码目前已迁移到oauth2分支 (博客地址
依赖 版本
Spring Boot 2.1.8.RELEASE
Spring Web MVC 5.1.9.RELEASE
Spring Security Web 5.1.5.RELEASE
MyBatis 4.1.5
通用mapper 2.1.5
Druid 1.1.21

启动步骤

  1. 创建数据库boot2-oauth, 执行web模块下resources/sql/init.sql文件
  2. 使用postman测试登录接口 /login POST 方式 ,本项目返回均是JSON字符串,重定向到登录页面,需要前端做处理,若想要后端直接重定向到登录页面的话,需要配置WebSecurityConfig中引入的那几个Handler,将里面返回的json值改为重定向到登录页面即可。

温馨提示

  1. 可根据项目需要自定义 backend/src/test/resources/generator/template/** 目录下的模板文件
  2. 定义好表结构后,配置 backend/src/test/java/CodeGenerator.java 这个文件,运行即可生成项目的基础代码

完成模块

  1. 用户管理
    • 用户的CRUD
    • 在线用户数量统计
  2. 角色管理
    • 角色的CRUD
    • 角色权限树
  3. 权限管理
    • 权限的CRUD
  4. 日志管理
    • 日志的CRUD

OAuth2 授权码和password测试如下:

OAuth2测试