# homework-springboot **Repository Path**: only-you/homework-springboot ## Basic Information - **Project Name**: homework-springboot - **Description**: 个人springboot家庭作业 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-04-13 - **Last Updated**: 2025-01-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## springboot 2.2.6 入门作业 [TOC] 了解技术栈, 能简单的说出原理, 知道实际应用场景有哪些? 从易到难 或者从入门到放弃... [百度](https://www.baidu.com) [gitee](https://www.gitee.com) [github](https://github.com/) https://start.spring.io ### 基础 - 1-1 hello - 1-2 工程结构 - 1-3 配置文件 ### Web-API - 2-1 API - 2-2 请求参数校验 - 2-3 Swagger2构建强大的API文档 (或美化版knife4j) - 2-4 smart-doc零注解API文档 ### 数据访问 - 3-1 阿里Druid+ JDBC - 3-2 Spring Data JDBC - 3-3 Spring Data JPA - 3-4 MyBatis - 3-5 MyBatis plus - 多数据源 - JPA集成多数据源 - Mybatis集成多数据源 - `sharding-jdbc` 实现分库分表,同时ORM采用 Mybatis-Plus - 数据库管理Flyway 项目启动时初始化数据库表结构,同时支持数据库脚本版本控制 - [beetl-sql](http://ibeetl.com/guide/#beetlsql) - 事务 **其他数据存储** - 3-100 cache 缓存数据 - 3-200 ehcache 缓存数据 单独用/配合cache用 可持久化 - 3-300 Redis 缓存数据 单独用/配合cache用 安装redis 频繁操作类型数据 - 3-400 MongoDB 安装MongoDB 介于关系数据库和非关系数据库之间的产品 - 3-500 ElasticSearch 安装ElasticSearch 弱事务.作为辅助库,完成全文搜索 - LDAP 轻量级目录访问协议 ,查询多而修改极少 - Neo4j 图数据库 ### Web-模版 - 4-1 Thymeleaf SpringBoot官方推荐 - 4-2 Freemarker . - velocity (spring5 不再支持); Beetl ; Mustache ; Groovy ; Enjoy ; (不集成) ### 日志监控 - 000 logback 日志 - 000 AOP 切面的方式记录 web 请求日志 - 000 统一异常处理,包括2种,第一种返 json 格式,第二种 跳转到异常页面 - 000 Spring Boot Actuator spring-boot 暴露监控信息 - 000 Spring Boot Admin spring-boot 可视化监控信息 - graylog 实现日志统一收集 ### 定时任务 - 000 jdk(Timer/ScheduledExecutorService) 和 spring task 定时任务 - 000 quartz 可持久化的定时任务管理 - [xxl-job](http://www.xuxueli.com/xxl-job/en/#/),并提供绕过 `xxl-job-admin` 对定时任务的管理的方法,包括定时任务列表,触发器列表,新增定时任务,删除定时任务,停止定时任务,启动定时任务,修改定时任务,手动触发定时任务 ### 功能类 - 000 email 简单文本邮件、HTML邮件(包括模板HTML邮件)、附件邮件、静态资源邮件 - 000 文件上传下载 单/多文件,图片水印,保存到云存储 oss - 000 poi 读写表格 Excel , 扩展 [ExcelUtil](http://www.likaixuan.top/excelUtil) 或者 [easypoi](https://gitee.com/lemur/easypoi?_from=gitee_search) (基于注解) - 000 Minio 对象存储服务器 安装Minio ( FastDFS 只能搭建Linux上 暂不介绍) - 000 ureport2 实现复杂的自定义的中国式报表 (ECharts/Highcharts属于html不集成) - 爬虫 ### 认证授权 - 000 Spring Session - 000 shiro 实现权限管理 - 000 spring security 基于RBAC权限模型的权限管理 - `justauth-spring-boot-starter` 实现QQ登录、GitHub登录、微信登录、谷歌登录、微软登录、小米登录、企业微信登录。 - SSO 单点登录 ### 消息传递 - 000 websocket 广播/点对点 认证/httpsession - 000 netty (物联网tio平台 tio 类似 ) socket websocket - 000 RabbitMQ 抢单 (日志/邮件/短信等) ( ActiveMQ 小巧 类似 ) - 000 kafka 消息的发送和接收 ( RocketMQ 分布式 类似) - 000 Dubbo Zookeeper ### 流程相关 - activiti 7 流程引擎 ### 网络部署 - 000 打成 war包的配置 - 000 HTTPS 安全的http协议 - 000 docker 容器化 - 000 Jenkins 自动化部署 - 000 Nginx 入口 - gRPC 高效的RPC - Guava RateLimiter 实现单机版限流,保护 API - Redis + Lua 脚本实现分布式限流,保护 API https://gitee.com/cnovel/demo https://github.com/ZHENFENG13/spring-boot-projects https://github.com/xkcoding/spring-boot-demo https://github.com/haoxiaoyong1014/springboot-examples