# xgf-crud **Repository Path**: XueLangvsLieYing/xgf-crud ## Basic Information - **Project Name**: xgf-crud - **Description**: xgf - springboot+jpa +Swagger CRUD基础代码重新封装,初步封装,异常管理,日志处理已完成,fegin加入完成 后面会更新,转向springcloud ,在重新做单点登录,架构想模仿zheng,看到的同志如果想加入,可以加QQ群,一起码代码,研究技术QQ群 361865194 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 10 - **Created**: 2018-02-05 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # xgf-crud xgf - springboot+jpa +Swagger CRUD基础代码重新封装,初步封装,异常管理,日志处理已完成,后面会更新,在重新做单点登录,架构想模仿zheng,看到的同志如果想加入,可以加QQ群,一起码代码,研究技术 QQ群 361865194 加入用feign 来代替Httpclient 实现两种Redis 数据库的token验证方式(前后台验证) 完成JPA逻辑删除 完成Spring 参数自动添加 使用策略模式完善代码,对项目进行改善,完成JPA 排序分页 2018/1/24 解决JPA联查的时候无限循环 2018/1/24 完成逻辑查询的所有问题 2018/1/30 版本更新 从springboot 改为springcloud 再写cas + shiro 单点登录 1、项目整合redis存储,shiro可使用redisSession可使用于集群访问 4、优化已知BUG # xgf-crud 改善CRUD的Springboot框架 我原本是打算单纯搭建一个springboot CRUD的基础骨架,但是现在基本实现功能之后,我希望能写的更好,本人现在在写cas 单点登录,之后会尽力 持续更新 ## 希望大家多 star 和 watch ,是我更新下去的动力,如果有什么想法或者问题的,可以加群或者直接评论,本人会尽心解决,接受大家的建议 ## 平台简介 xgf-crud是在SpringBoot基础上搭建的一个Java基础开发框架,以Spring MVC为模型视图控制器,JPA为数据访问层, Redis对常用数据进行缓存。 xgf-crud主要定位于改善CRUD的Springboot框架,因为本人认为代码规范,代码习惯很重要,就自己用一点时间搭建一个基础CRUD,高可用,高可复用的框架 使用Maven做项目管理,提高项目的易开发性、扩展性。 ## 技术选型 1、后端 * 核心框架:SpringBoot 1.5.9.RELEASE * 集成运行框架:Tomcat 8.5.11 * 视图框架:Spring MVC 4.1 * 持久层框架:JPA * 数据库连接池:Alibaba Druid 1.0 * 缓存框架:Redis * 日志管理:Logback * TOKEN模式: jsonwebtoken 0.6 * 工具类:Apache Commons、Jackson 2.8.5、Junit 4.12 4、平台 * 数据库支持:目前仅提供MySql数据库的支持,但不限于数据库,后续会增加其它数据库支持接口, * 开发环境:Java1.7以上、IDEA、Maven 3.1以上、Git ## 安全考虑 1. 开发语言:系统采用Java 语言开发,具有卓越的通用性、高效性、平台移植性和安全性。 2. 分层设计:(数据库层,数据访问层,业务逻辑层,展示层)层次清楚,低耦合,各层必须通过接口才能接入并进行参数校验(如:在展示层不可直接操作数据库),保证数据操作的安全。 3. 双重验证:用户表单提交双验证:包括服务器端验证及客户端验证,防止用户通过浏览器恶意修改(如不可写文本域、隐藏变量篡改、上传非法文件等),跳过客户端验证操作数据库。 4. 安全编码:用户表单提交所有数据,在服务器端都进行安全编码,防止用户提交非法脚本及SQL注入获取敏感数据等,确保数据安全。 ## 快速体验 1. 具备运行环境:JDK1.8+、Maven3.39+、MySql5+。 2. 修改xgf-crud 中 src\main\resources\application-dev.yml文件中的数据库设置参数(application-dev.properties为开发环境的相应参数 (因为现在刚开始从单项目 过渡到 springcloud 多项目,之前的项目是其中的xgf-crud ,启动步骤也是正常springboot启动,找到DemoApplication 类 右键 点击 run "DemoApplication") 如果报连接异常,就是microservice-discovery-eureka 没有启动,还有问题请下方评论 3. 根据修改参数创建对应MySql数据库用户和参数。 4. 修改RemoteConfiguration类中的参数,createTokenManager 为控制token是存在Redis 还是数据库。(目前默认是数据库) 5. 在自己选定的数据库中导入init.sql (也可以通过JPA自动生成数据库,自己添数据) 6. 目前登录账号,用户名:1 密码:1 7. 由于项目只是基础功能实现,可能还有一些没有优化到的时候,后续会持续优化和改进 ## 如何交流、反馈、参与贡献? 可以直接评论,本人水平很菜,只是希望分享技术,交流技术,欢迎加入。 ## 项目起因 本人感觉写代码大部分都离不开CRUD,但是发现程序员的差距在CRUD上就能体现出来,10个人写的代码,10种写作风格。本着不能光百度别人的东西,自己也要分享技术的想法。希望做出一个大家认可,代码规范,代码整洁的基础框架来,希望能帮助别人的同时,大家也请提出自己的建议或者加入进来,我会尽量改善