# spring-boot3-all **Repository Path**: isrsy/spring-boot3-all ## Basic Information - **Project Name**: spring-boot3-all - **Description**: spring-boot3-all - **Primary Language**: Unknown - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-06-02 - **Last Updated**: 2024-06-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## Spring Boot 3 ### 数据库和持久层 1. **Spring Data JPA**:简化数据库访问层的实现。 2. **Spring Data MongoDB**:用于与 MongoDB 数据库进行交互。 3. **Spring Data Redis**:用于与 Redis 数据库进行交互。 4. **Flyway 或 Liquibase**:用于数据库版本控制和迁移管理。 5. **H2 或 MySQL 等数据库**:作为实际的数据存储。 ### Web 框架和 API 1. **Spring Web**:用于构建 RESTful API 和传统的 web 应用。 2. **Spring WebFlux**:用于构建响应式 web 应用。 3. **Spring MVC**:用于构建基于 MVC 模式的 web 应用。 4. **GraphQL**:用于构建 GraphQL API。 ### 安全 1. **Spring Security**:用于应用的身份验证和授权。 2. **OAuth2 和 JWT**:用于实现单点登录和 token 认证。 ### 微服务 1. **Spring Cloud**:用于构建分布式系统,包含服务发现、配置管理、负载均衡、断路器、网关等组件。 2. **Netflix OSS**:如 Eureka(服务发现)、Hystrix(断路器)、Ribbon(客户端负载均衡)等。 ### 消息传递 1. **Spring Kafka**:用于与 Apache Kafka 进行消息传递。 2. **Spring AMQP**:用于与 RabbitMQ 进行消息传递。 3. **Spring Cloud Stream**:用于构建消息驱动的微服务。 ### 缓存 1. **Spring Cache**:提供缓存抽象层,可以与不同的缓存实现(如 Ehcache、Caffeine、Redis)集成。 2. **Caffeine 和 Ehcache**:常用的缓存实现库。 ### 日志 1. **Logback 和 Log4j2**:常用的日志框架。 2. **Spring Boot Actuator**:提供应用监控和管理端点。 ### 监控和追踪 1. **Spring Boot Actuator**:用于监控和管理 Spring Boot 应用。 2. **Prometheus 和 Grafana**:用于应用监控和可视化。 3. **Zipkin 或 Jaeger**:用于分布式追踪。 ### 测试 1. **Spring Boot Test**:用于测试 Spring Boot 应用,包含对 JUnit 和 Mockito 的支持。 2. **Testcontainers**:用于在测试中启动真实的数据库或其他服务的容器。 ### 前端集成 1. **Thymeleaf**:用于构建动态 web 页面。 2. **Spring Boot DevTools**:提供开发期间的自动重启和其他便利功能。 ### 其他工具 1. **Swagger** 或 **Springdoc OpenAPI**:用于生成 API 文档。 2. **MapStruct**:用于对象映射。 3. **ModelMapper**:用于对象映射。 ### 内置任务调度 - **Spring Scheduling**:Spring 自带的任务调度框架,支持简单的定时任务和基于 Cron 表达式的调度。 ### 分布式任务调度 - **Quartz**:一个功能强大的开源作业调度框架,支持复杂的调度需求,包括基于数据库的持久化调度。 - **Spring Batch**:用于处理大量数据的批处理框架,可以与调度器结合使用来定期执行批处理任务。 - **Spring Cloud Data Flow**:用于构建和管理分布式数据管道的框架,支持任务调度和批处理任务的协调,适用于需要高度可扩展和分布式环境的复杂任务调度场景。 - **Apache Camel**:集成模式框架,支持基于路由的任务调度。 ### 扩展调度功能 - **ShedLock**:用于防止分布式环境下任务重复执行的库,通常与 Spring Scheduling 或 Quartz 结合使用,确保在集群中任务只被一个节点执行。 ### 人工智能 Spring AI