All Projects → FutaoSmile → SpringBootIntegration

FutaoSmile / SpringBootIntegration

Licence: MIT license
SpringBoot集成学习项目 SpringBoot Integration

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects
FreeMarker
481 projects
HTML
75241 projects

Projects that are alternatives of or similar to SpringBootIntegration

Eshop Soa
EShop基于Dubbo实现SOA服务化拆分,并基于RocketMQ解决了分布式事务(新版SpringBootSOASkeleton)
Stars: ✭ 65 (+225%)
Mutual labels:  druid, mybatis, rocketmq
Spring Boot Quick
🌿 基于springboot的快速学习示例,整合自己遇到的开源框架,如:rabbitmq(延迟队列)、Kafka、jpa、redies、oauth2、swagger、jsp、docker、spring-batch、异常处理、日志输出、多模块开发、多环境打包、缓存cache、爬虫、jwt、GraphQL、dubbo、zookeeper和Async等等📌
Stars: ✭ 1,819 (+8995%)
Mutual labels:  druid, springboot, mybatis
Jeeplatform
一款企业信息化开发基础平台,拟集成OA(办公自动化)、CMS(内容管理系统)等企业系统的通用业务功能 JeePlatform项目是一款以SpringBoot为核心框架,集ORM框架Mybatis,Web层框架SpringMVC和多种开源组件框架而成的一款通用基础平台,代码已经捐赠给开源中国社区
Stars: ✭ 1,285 (+6325%)
Mutual labels:  druid, springboot, mybatis
taotao-cloud-project
微服务开发脚手架,包括大数据模块、微服务模块、前端模块。基于Spring Cloud Alibaba的微服务架构。提供技术框架的基础能力的封装,减少开发工作,只关注业务,包含了工作以来的工作总结和技术沉淀
Stars: ✭ 76 (+280%)
Mutual labels:  springboot, mybatis, rocketmq
Spring Boot Leaning
Spring Boot 2.X 最全课程代码
Stars: ✭ 2,008 (+9940%)
Mutual labels:  druid, springboot, mybatis
Ruoyi Vue
(RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统
Stars: ✭ 596 (+2880%)
Mutual labels:  druid, springboot, mybatis
Java-CS-Record
记录准备春招实习过程中,学习与复习的知识(模块化整理,非面试题速成)。注:暂停更新,后续请移步博客
Stars: ✭ 73 (+265%)
Mutual labels:  springboot, mybatis, rocketmq
Springboot Templates
springboot和dubbo、netty的集成,redis mongodb的nosql模板, kafka rocketmq rabbit的MQ模板, solr solrcloud elasticsearch查询引擎
Stars: ✭ 100 (+400%)
Mutual labels:  springboot, mybatis, rocketmq
springboot-chapter
🚀Spring Boot 2.0基础教程。主流框架整合,实践学习案例。
Stars: ✭ 23 (+15%)
Mutual labels:  druid, springboot, mybatis
Skill6 Website Backend
java进阶开发,高级版web项目。基于dubbo实现分布式微服务架构,基于spring boot、spring mvc、mybatis、docker、ELK、redis、vue.js、node.js等技术实现的技术分享交流网站。网站名称:技术流,英文名:skill6。主要功能有:登录注册、单点登录、restful设计、文章及评论、代码及资源下载、主题讨论等。持续更新中...
Stars: ✭ 140 (+600%)
Mutual labels:  druid, springboot, mybatis
RuoYi-fast
🎉 (RuoYi)官方仓库 基于SpringBoot的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用
Stars: ✭ 117 (+485%)
Mutual labels:  druid, springboot, mybatis
My Blog Layui
layui 版本的 My-Blog : A simple & beautiful blogging system implemented with spring-boot & layui & thymeleaf & mybatis My Blog 是由 SpringBoot + Layui + Mybatis + Thymeleaf 等技术实现的 Java 博客系统,页面美观、功能齐全、部署简单及完善的代码,一定会给使用者无与伦比的体验
Stars: ✭ 204 (+920%)
Mutual labels:  druid, springboot, mybatis
learn-java-demo
java学习demo
Stars: ✭ 17 (-15%)
Mutual labels:  druid, springboot, mybatis
Ruoyi
(RuoYi)官方仓库 基于SpringBoot的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用
Stars: ✭ 905 (+4425%)
Mutual labels:  druid, springboot, mybatis
Xc Spring Cloud Alibaba
spring cloud alibaba(2.2.1最新版)+nacos+dubbo+gateWay+sentinel+rocketmq+(pgsql/mysql8.0的json支持)+ignite集成可用于docker分布式框架+分布式自动化任务+mybatis多数据源+seate+ shardingSphere分布式分库事务解决方案
Stars: ✭ 131 (+555%)
Mutual labels:  springboot, mybatis, rocketmq
Ruoyi Vue Fast
(RuoYi)官方仓库 基于SpringBoot,Spring Security,JWT,Vue & Element 的前后端分离权限管理系统
Stars: ✭ 107 (+435%)
Mutual labels:  druid, springboot, mybatis
Taoshop
开源电子商务项目,SpringBoot+Dubbo技术栈实现微服务,实现一款分布式集群的电商系统. 项目releases链接:https://github.com/u014427391/taoshop/releases (开发中...)
Stars: ✭ 491 (+2355%)
Mutual labels:  springboot, mybatis, rocketmq
Ruoyi Oracle
(RuoYi)官方仓库 基于SpringBoot的权限管理系统 易读易懂、界面简洁美观。 核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖。直接运行即可用
Stars: ✭ 134 (+570%)
Mutual labels:  druid, springboot, mybatis
Seconds Kill
基于 Springboot + Redis + Kafka 的秒杀系统,乐观锁 + 缓存 + 限流 + 异步,TPS 从 500 优化到 3000
Stars: ✭ 180 (+800%)
Mutual labels:  druid, springboot, mybatis
robert
基于SpringCloud的企业级微服务多租户系统、多语言的脚手架, 代码组件化、高内聚低耦合,代码简介,注释丰富容易上手,该项目包括用于开发分布式应用程序服务的必要组件,支持多应用程序访问,并使开发人员可以轻松地使用Spring Cloud编程模型来开发分布式应用程序服务。
Stars: ✭ 45 (+125%)
Mutual labels:  springboot, mybatis, rocketmq

1 感谢JetBrains提供IDEA与DataGrip软件支持 https://www.jetbrains.com/?from=SpringBootIntegration

github 🔗https://github.com/FutaoSmile/springbootFramework

gitee 🔗 https://gitee.com/FutaoSmile/springboot_framework

https://img.shields.io/badge/jdk-v1.8-green.svg https://img.shields.io/badge/version-v0.0.1--SNAPSHOT-green.svg

此项目依赖于公共组件LazyerStarter

https://github.com/FutaoSmile/LazyerStarter

先将lazyer那个项目clone下来,再在lazyer项目下执行mvn clean install -Dmaven.test.skip=truelazyer组件安装到本地maven仓库,再启动此项目即可(需要修改数据库账号密码)

git添加多远程仓库

git remote set-url --add origin [email protected]:FutaoSmile/springbootFramework.git

# 配合配套文章食用更加哦~

# 环境

  • SpringBoot 2.0.5.RELEASE
  • java 1.8
  • redis
  • rocket mq 4.3.0
  • elasticsearch 5.6.11
  • gradle
  • mybatis
  • mysql
  • idea
  • git

# 实现的功能:

统一返回的数据结构

统一异常处理(系统异常/业务逻辑异常)

服务端请求参数校验

Swagger接口文档

整合mybatis

  • mybatis + redis实现的二级缓存

用户登录(满足分布式) 基于httpsession

控制接口的访问权限(必须登录才能访问/可不登录直接访问的资源)

  • 基于 Annotation+SpringMvc Interceptor拦截器

请求日志记录

  • 基于SpringMvc Interceptor拦截器

在线用户统计

  • 基于HttpSessionListener监听器

接口请求次数统计

  • 基于SpringMvc Interceptor拦截器

敏感词检测

  • 基于Annotation+Hibernate Validator+SpringMvc Interceptor

第三方接口统一验签

  • 基于Annotation+SpringMvc Interceptor

整合redis

发送邮件

整合RocketMq消息队列

整合RabbitMq消息队列

  • 消息的可靠性
    • queue与message的持久化
    • 发送确认-手动ack
      • 异常情况下将message丢到redis再进行其他处理
    • 接收确认-手动ack
      • 处理失败重新丢回mq,再次消费

logback 日志系统

解决跨域访问

获取汉字拼音的首字母

分布式session管理 => springSession + redis

mybatis-plus(待优化) https://mp.baomidou.com/

国际化

HttpClient

Spring Security & apache shiro (待完善)

代码生成器

行级锁select for update的使用

一键生成markdown接口文档(目前依赖于swagger),不必再手动维护

  • 待优化的点:
    • parameter为自定义的数据类型时候无法获取对应的数据类型
    • 未按照controller进行分组
    • $ref无法解析问题-> fastJson issue alibaba/fastjson#2429
  • 特点
    • 多数据源 - 同时将多个项目的swagger接口文档加载到一个文件中
    • 如果请求参数被@ApiParam标注,则需要手动标记required=true/false,否则会直接读取@RequestParameter()的required

# 项目结构

src
|-main 源代码
    |-java java代码
        |-com.futao.springbootdemo
            |-annotaion 项目用到的自定义注解
            |-controller 接口
            |-dao 持久层
            |-foundation 支持项目运行的一些功能代码
            |-model 实体层
            |-service 业务逻辑层
            |-utils 工具类
            |-SpringmvcdemoApplication.java 启动类
    |-kotlin kotlin代码
    |-resource 配置文件
|-test

138.128.197.162 登陆地址: http://localhost:8888/login.html

swagger api地址: http://localhost:8888/swagger-ui.html#!

druid连接池地址: http://localhost:8888/druid/index.html

rocketmq控制台地址: http://localhost:8088/#/

kibana地址: http://localhost:5601/app/kibana

打包生成jar包 gradle clean build -x test

运行 java -jar ./build/libs/springbootdemo-0.0.1-SNAPSHOT.jar

# TODO items

  • 编写根据swagger-api-doc生成pdf接口文档的工具

  • mybatis分页 -> sql分页

  • elastic search全文检索

    • 查询语句
    • elasticsearch分词器
    • 从数据库中读取所有数据(建立/重建索引)
      • 自己实现
      • elastic-jdbc
  • 接口限流

    • 漏斗算法
    • 令牌桶算法
    • Sentinel
  • shiro 安全框架

  • solr 全文检索框架

  • 简单实用的Excel导入导出

  • WebSecurity

  • Condition接口与@Conditional注解的使用

  • @Enable* 注解原理与@Import注解的使用

  • ImportSelector与ImportBeanDefinitionRegistrar接口的使用

  • 服务端消息推送

    • SSE
    • Socket
  • zxing二维码

  • hashMap原理

  • 一种用于 API 的查询语言-非常新颖,颠覆以往的认知 http://graphql.cn/

  • 分布式日志收集logstash+kibana

  • 心跳

报错内容:

Error running 'ServiceStarter': Command line is too long. Shorten command line for ServiceStarter or also for Application default configuration.

解法:

修改项目下 .idea\workspace.xml,找到标签 <component name="PropertiesComponent"> , 在标签里加一行  <property name="dynamic.classpath" value="true" />

在项目启动时候选择激活的profile java -jar springmvcdemo-0.0.1-SNAPSHOT.jar --spring.profiles.active=prd --server.port=8888

/*--------------------------------------------
|         C O N S T R U C T O R S           |
============================================*/

/*--------------------------------------------
|  A C C E S S O R S / M O D I F I E R S    |
============================================*/

# 开发者profile的解决方案:

使用gradle构建的springboot项目在IDEA根据不同的开发人员读取不同的配置文件

新建application-developerName.yml 在IDEA中设置 ProgramArguments:spring.profiles.active=developerName

# Rocketmq

  • 启动nameserver ~/soft/rocketmq-all-4.3.0/distribution/target/apache-rocketmq/bin  ./mqnamesrv
  • 启动broker ~/soft/rocketmq-all-4.3.0/distribution/target/apache-rocketmq/bin  ./mqbroker -n 127.0.0.1:9876 autoCreateTopicEnable=true
  • 启动console java -jar ./docs/jars/rocketmq-console-ng-1.0.0.jar
  • 如果没装rocketmq,可关闭该功能(
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].