Score
0
Watch 106 Star 426 Fork 175

apple888 / boot-masterJavaApache-2.0 Join Repository

Create your Gitee Account
Explore and code with more than 6 million developers,Free private repositories !:)
Sign up
Clone or download
Cancel
Notice: Creating folder will generate an empty file .keep, because not support in Git
Loading...
readme.md

boot-master

项目介绍

boot-master基于SpringBoot2.2.0版本,整合项目中常用技术,帮助您快速上手使用SpringBoot,欢迎大家提意见,您的宝贵意见,是我们进步的动力。 最新代码请查看boot-win 本地部署: 离线版本.


在线演示

HAdmin演示  WIN10演示  代码生成  XXL_JOB  RAP文档  SOLR

极速入门

精简版本  入门配置  分布式事务  SpringCloud  Dubbo  AlibabaSpringCloud

技术选型

● 系统核心框架:SpringBoot
● 定时任务调度:ElasticJob+Zookeeper
● 数据持久框架:MyBatis
● 数据库连接池:Alibaba Druid
● 系统监控插件:JavaMelody+Druid
● 系统缓存框架:Redis-cluster
● 系统前端框架:Freemaker+AdminLte
● 搜索引擎框架:Solr/SolrCloud+RedisSearch
● 分布式线程锁:Redisson
● 分布式限流器:Redisson
● 系统消息队列:ActiveMq
● 安全授权框架:JwtToken+AES 
● 接口文档工具:SWAGGER2+swagger2markup
● 全文检索工具:RedisSearch
● 日志查询处理:RediSQL
● 代码分析插件:Sonar
● 项目文件服务:Gitea
● 项目文档工具:Swagger+RAP
● 项目管理工具:禅道

项目特点

  • 提供在线代码生成工具,您只需要创建表的脚本,在线执行,然后在线生成就可完成controller,service,dao,mapper,entity,html全部功能开发。
  • 利用NGINX分离了static目录下js,css,img等文件,提高页面响应速度。
  • 利用REDISSON实现多个服务之间的远程调用,发送方发送指令成功,接收方确认会处理。
  • 用户操作日志写入REDIS,通过SWAGGER在线文档直接查看REDIS日志。
  • http协议在线访问swaggerJSON地址,可以直接生成swagger离线makdown和html文档。
  • 配置App模块,针对相同接口重复提交,直接拒绝访问(针对多读情况,可手动关闭限制)。
  • 配置接口限流器,接口端直接拒绝超过允许数量的请求,减轻服务器端在高并发环境下的压力。
  • 配置坦克大战小游戏,让您在学习之余可以愉快的放松休息。
  • 配套代码生成工具:快速生成前后端代码,极大的提高开发效率。
  • 引入ApacheCommons工具包,大幅简化开发中的io,file,collection,jexl等处理过程 。
  • 引入APP模块,根据token作为登录令牌,支持token自动续期,极大的方便了APP接口开发。
  • 引入HibernateValidator校验框架,轻松实现后端校验。
  • 引入druid,javaMelody监控系统各项指标,分析系统瓶颈。
  • 前端采用freemarker模板化引擎,页面采用bootstrap-table灵活强大的表格插件。
  • 前端使用layui弹出层框架,极大的简化了弹出层的开发过程。
  • 前端采用JqueryValidate插件,快捷方便进行数据验证。
  • 后端配置swagger在线文档,极大的降低前后端项目成员的沟通成本,快速同步文档。
  • 配置druid,fastjson,cors,xss,redis-cluster等组件服务。
  • 配置全局异常处理,通用日志打印,pagehelper分页。
  • 配置redisson集群模式,使用分布式锁,保证并发的数据一致性。
  • 配置全局errorPage和welcomeFile完善全局异常处理,优化异常处理代码。
  • 配置devtools热部署,针对page目录下的css,js,html页面资源修改之后,项目不需要重新启动。
  • 配置elastic-job定时器,强悍的分布式定时任务配置。
  • 配置fileupload(默认配置最大100MB),下载文件,生成二维码,二维码打印,mail发邮件等功能。
  • 配置https安全协议,提高系统安全性,配置log4j日志,系统出现异常自动发送邮件。
  • 配置poi和csv简单导出excel功能点,poi目前是多sheet智能导出。
  • 前端使用vkbeautify插件,页面格式化json,xml,css,sql数据显示。
  • 配置activeMq支持同时发送队列和主题消息。
  • 配置solr和solrCloud支持分词搜索查询。
  • 配置LOG4JDBC格式化打印Mybatis执行sql日志,快捷定位脚本错误

项目结构

boot-master

├─doc  项目SQL语句

├─common 公共配置

├─framework 框架配置

├─modules 功能模块
│  ├─app API接口模块(APP调用)
│  ├─controller 系统模块
│  ├─mapper  mybatis的sql文件
│  ├─model   数据库实体类
│  └─service 业务逻辑层

├─StartUpApplication 项目启动类

├──resources
│  ├─page 页面资源
│  │  ├─static 静态资源
│  │  │  ├─css  css样式
│  │  │  ├─js   js文件 
│  │  │  ├─images   图片文件 
│  │  │  ├─adminLTE 模板组件  
│  │  │  └─plugins  前端插件
│  │  │
│  │  └─view  前端页面
│  │     ├─error 系统错误页
│  │     ├─inc   公共资源页面
│  │     └─其他   系统功能页面
│  │
│  ├─application.properties 配置文件
│  ├─banner.txt  自定义启动图标
│  ├─mybatis_config.xml mybatis配置项
│  └─secure.jks  ssl安全证书

软件环境

  • JDK1.8
  • MySQL5.5+
  • Maven3.0+

环境配置:

启动说明:

  • 1.创建mysql数据库isec实例,运行doc目录里面的sql文件。
  • 2.启动redis集群(127.0.0.1:6379~6384,密码:qdone)。
  • 3.启动activeMq(默认单机版)。
  • 4.启动solr(默认单机版)。
  • 5.启动zookeeper(默认单机版本2181)。
  • 6.运行StartUpApplication启动项目,浏览器访问http://localhost
  • 7.Sonar代码分析,请在eclipse或者idea工具:
    maven命令:sonar:sonar -Dsonar.host.url=http://ip:port -Dsonar.login=X -Dsonar.password=X -Dsonar.scm.provider=git

注意事项:

  • 1.目前启动2台实例,发送队列消息时,存在一个队列对应多个消费者,某一消费者可能读取不到队列消息的情况。
  • 2.代码配置有通用和特定队列的两种监听器,当向相同队列发送消息时,专门监听该队列的监听器会处理此消息。
  • 3.开源分布式定时任务架构有很多,常用Elastic-job,XXL_JOB,light-task-scheduler。
  • 4.REDISSON可以做远程调用,发布订阅功能,可以实现类似MQ的轻量级功能。
  • 5.使用XXL-JOB时,需要在自己的业务方法里处理完毕之后,需要将handler异常抛出,便于admin捕获处理。
  • 6.系统风格有AdminLTEWin10两种,鉴于服务器原因,此处只是展示Win10页面。

懒人部署:

友情链接:

问题反馈:

项目截图

项目启动效果图: boot-start
Https跳转效果图: boot-ssl
登陆页面效果图: boot-login
欢迎页面效果图: boot-welcome
学生管理效果图: boot-index
接口文档效果图: boot-swagger
登录接口效果图: boot-applogin
获取用户效果图: boot-appGetUser
邮件异常效果图: boot-emailError
发送消息效果图: boot-runmq
接收消息效果图: boot-mq
职员列表效果图: boot-selectStaff
添加职员效果图: boot-insertStaff
验证失败效果图: boot-insertError
AlibabaDurid效果图: boot-durid
JavaMelody效果图: boot-javaMelody
生成二维码效果图: boot-qrcode
打印二维码效果图: boot-print
Solr操作效果图: boot-solr
文本上传效果图: boot-upload
上传出错效果图: boot-uploadError
限流生效效果图: boot-ratelimter

Comments ( 15 )

Sign in for post a comment

About

boot-master基于SpringBoot2.2.0版本,结合项目实用的技术点。采用技术:RediSQL , RedisSearch , Redisson,SolrCloud,RedisCluster,ElasticJob,XxlJob, Druid,Mybatis,Freemarker等,帮助您急速上手使用SpringBoot。【QQ群:759111321,作者QQ:1335157415】 spread retract
Cancel

Gitee Metrics

Contributors

All

Activities

load more
can not load any more