Spring Boot 版本怎么选?2/3/4 深度对比 + 迁移避坑指南(含 Java 8→21 适配要点)

深度解析Spring Boot 2、3、4版本差异:从特性迭代到生态演进

作为Java生态中最主流的微服务开发框架,Spring Boot的每一次大版本迭代都牵动着开发者的神经。从2018年Spring Boot 2.0发布带来的性能飞跃,到2022年Spring Boot 3.0开启的Jakarta EE迁移新篇章,再到最新Spring Boot 4.0对云原生与模块化的深度强化,三个大版本的演进不仅是API的增减,更是对Java技术生态发展趋势的精准响应。本文将从基础依赖、核心特性、性能优化、生态适配、迁移实践等维度,全面剖析Spring Boot 2、3、4的核心差异,为开发者的版本选型与迁移升级提供详实参考。

一、版本迭代背景与核心定位差异

Spring Boot的版本迭代始终遵循"兼容演进、紧跟生态"的原则,每个大版本都有明确的核心定位,其发布背景与目标直接决定了特性迭代方向。

1.1 Spring Boot 2.x:性能革新与自动化增强

Spring Boot 2.0于2018年3月发布,距离1.x系列最后一个版本间隔近两年。彼时Java 8已成为主流,Spring Framework 5.0刚刚发布并引入Reactive编程模型,微服务架构正从概念走向大规模落地。Spring Boot 2.x的核心定位是"性能优化+自动化能力升级",旨在解决1.x版本中存在的启动慢、内存占用高、配置繁琐等问题,同时适配Reactive生态,为微服务开发提供更高效的基础框架。

Spring Boot 2.x系列的生命周期较长,从2.0到2.7(2023年11月停止维护),持续迭代5年,是目前企业中使用最广泛的版本系列之一。其长期支持(LTS)版本2.7更是成为许多传统企业的首选,核心原因在于稳定的API与完善的生态适配。

1.2 Spring Boot 3.x:Jakarta EE迁移与云原生适配

Spring Boot 3.0于2022年11月发布,这是一个具有里程碑意义的版本,核心定位是"全面迁移Jakarta EE + 云原生能力深化"。此时Java EE已正式更名为Jakarta EE,Oracle将Java EE相关技术转让给Eclipse基金会,Spring作为Java生态的核心参与者,必须完成从Java EE到Jakarta EE的迁移,以确保框架的合法性与可持续性。

同时,云原生技术(Docker、K8s)已成为微服务部署的标准范式,Spring Boot 3.x重点强化了对云原生生态的适配,引入了AOT编译、Native镜像支持等关键特性,旨在解决传统Java应用启动慢、镜像体积大的痛点,提升在云环境中的部署与运行效率。Spring Boot 3.x的LTS版本为3.2(2023年11月发布,支持至2029年),是目前企业进行新项目开发的首选版本。

1.3 Spring Boot 4.x:模块化深化与AI生态融合

Spring Boot 4.0于2024年10月发布,核心定位是"模块化架构深化 + AI生态原生融合"。随着Java 21的发布(2023年9月),虚拟线程、模块化等特性逐渐成熟,Spring Boot 4.x全面拥抱Java 21+的新特性,进一步优化框架的模块化设计,提升应用的可扩展性与维护性。

此外,AI技术的爆发式发展推动了开发模式的变革,Spring Boot 4.x首次将AI生态纳入核心适配范围,提供了对主流AI框架(如OpenAI、LangChain)的快速集成能力,同时强化了分布式 tracing、可观测性等企业级特性,助力开发者构建"微服务+AI"的新一代应用。目前Spring Boot 4.x处于活跃迭代期,是面向未来的版本选择。

二、基础依赖与兼容性差异

基础依赖是框架运行的基石,Spring Boot 2、3、4在Java版本要求、核心依赖版本、第三方生态适配等方面存在显著差异,这也是版本迁移的核心痛点之一。

2.1 Java版本兼容性

Java版本的升级是Spring Boot大版本迭代的重要驱动力,每个大版本都明确了最低Java版本要求,且不再兼容旧版本,具体差异如下表所示:

Spring Boot版本 最低Java版本 推荐Java版本 不支持的Java版本
2.x Java 8 Java 8、11 Java 7及以下
3.x Java 17 Java 17、21 Java 16及以下
4.x Java 21 Java 21、22 Java 20及以下

关键说明:

  • Spring Boot 2.x的Java 8支持是其广泛普及的重要原因,许多传统企业的应用仍基于Java 8开发,因此2.7版本作为LTS版本被长期使用。

  • Spring Boot 3.x直接跳过Java 8-16,最低要求Java 17,这是因为Java 17是继Java 8之后的又一个LTS版本,包含了密封类、record、模式匹配等大量新特性,同时Jakarta EE 9+也要求Java 11+,为了减少兼容性负担,Spring团队选择直接将Java 17作为基线。

  • Spring Boot 4.x将最低Java版本提升至21,全面拥抱虚拟线程、结构化并发、向量API等Java 21的核心特性,这些特性对提升高并发场景下的性能至关重要。

2.2 核心依赖版本差异

Spring Boot的核心依赖包括Spring Framework、Spring Security、Spring Data等,各版本的核心依赖版本对应关系如下:

依赖组件 Spring Boot 2.x Spring Boot 3.x Spring Boot 4.x
Spring Framework 5.0.x - 5.3.x 6.0.x - 6.1.x 7.0.x - 7.1.x
Spring Security 5.0.x - 5.7.x 6.0.x - 6.2.x 7.0.x - 7.1.x
Spring Data 2.0.x - 2.7.x 3.0.x - 3.2.x 4.0.x - 4.1.x
Tomcat(默认容器) 8.5.x - 9.0.x 10.0.x - 10.1.x 10.1.x - 11.0.x
Jakarta EE(Java EE) Java EE 7 - 8 Jakarta EE 9 - 10 Jakarta EE 10 - 11

核心差异点:

  • Spring Framework版本跳跃:Spring Boot 2.x基于Spring 5.x,3.x基于Spring 6.x,4.x基于Spring 7.x,每一代Spring Framework都带来了底层架构的优化(如Spring 6的AOT编译支持、Spring 7的模块化深化)。

  • Jakarta EE迁移:这是Spring Boot 3.x最核心的依赖变化。Java EE的包名从javax.*改为Jakarta EE的jakarta.*(如javax.servletjakarta.servlet),Spring Boot 3.x全面迁移到Jakarta EE 9+,而2.x仍基于Java EE 7/8,这也是2.x迁移到3.x的最大障碍。

  • Tomcat版本升级:Spring Boot 3.x默认使用Tomcat 10+,而Tomcat 10是第一个支持Jakarta EE 9的版本,与Tomcat 9(支持Java EE 8)存在包名不兼容问题,这也是迁移时需要注意的点。

2.3 第三方生态适配差异

Spring Boot的强大之处在于其丰富的starter生态,各版本对第三方组件的适配也存在差异:

  • Spring Boot 2.x:适配了大多数主流第三方组件的稳定版本,如MyBatis 3.x、Redis 5.x、Elasticsearch 6.x-7.x等,但对部分新组件(如Vitess、Pulsar)的支持不完善。

  • Spring Boot 3.x:由于Jakarta EE迁移,部分老旧第三方组件(如不支持jakarta.*包名的组件)被淘汰,同时新增了对云原生组件的支持,如Kubernetes Client、Spring Cloud Gateway的原生适配,以及对GraalVM Native镜像的支持。

  • Spring Boot 4.x:进一步强化了云原生与AI组件的适配,新增了spring-boot-starter-ai模块,支持OpenAI、Azure OpenAI、LangChain等主流AI框架的快速集成;同时适配了Redis 7.x、Elasticsearch 8.x等新版本组件,淘汰了部分不再维护的第三方starter。

三、核心特性迭代差异

核心特性是Spring Boot版本迭代的核心价值所在,2、3、4三个版本在自动化配置、编程模型、性能优化、云原生能力等方面的特性差异,直接决定了开发效率与应用性能。

3.1 自动化配置:从基础优化到智能适配

自动化配置是Spring Boot的核心优势,各版本在自动化配置的灵活性、覆盖范围、智能程度上不断提升:

3.1.1 Spring Boot 2.x:自动化配置的完善期

Spring Boot 2.x在1.x的基础上,进一步优化了自动化配置机制:

  • 增强了条件注解:新增@ConditionalOnClass@ConditionalOnMissingBean等注解的灵活性,支持更精细的配置条件判断。

  • 扩展了配置覆盖能力:支持通过spring.config.import导入外部配置文件,解决了多环境配置的复杂问题。

  • 新增大量starter:覆盖了数据访问、安全认证、消息队列等更多场景,如spring-boot-starter-data-redis-reactive支持Reactive Redis操作。

不足:自动化配置的"黑盒"问题较为突出,当配置出现问题时,排查难度较大;同时,对复杂场景的适配能力有限,需要大量自定义配置。

3.1.2 Spring Boot 3.x:自动化配置的精细化与可观测性

Spring Boot 3.x在自动化配置上重点解决了2.x的"黑盒"问题,同时提升了配置的精细化程度:

  • 引入配置溯源能力:通过spring-boot-starter-actuator暴露配置溯源端点,开发者可以清晰地看到每个配置项的来源(默认值、配置文件、环境变量等),大幅降低排查难度。

  • 支持条件配置的分组管理:通过@AutoConfigureGroup注解,将相关的自动化配置分组,实现更灵活的启用/禁用控制。

  • 优化了配置绑定机制:支持对record类的配置绑定,简化了配置类的编写(如@ConfigurationProperties(prefix = "app") record AppConfig(String name, int port) {})。

3.1.3 Spring Boot 4.x:自动化配置的智能适配与模块化

Spring Boot 4.x基于Java 21的模块化特性,进一步强化了自动化配置的智能性与可扩展性:

  • 支持模块化配置隔离:通过Java模块系统,将不同功能的自动化配置隔离在不同模块中,减少依赖冲突,提升应用的可维护性。

  • 引入AI辅助配置建议:结合spring-boot-starter-ai,当配置出现错误或不合理时,系统可以基于AI给出优化建议(如数据库连接池参数优化、线程池配置建议等)。

  • 支持动态配置的热更新优化:优化了配置中心(如Nacos、Apollo)的动态配置更新机制,减少配置更新时的线程阻塞,提升高并发场景下的稳定性。

3.2 编程模型:从同步到Reactive再到虚拟线程

编程模型的演进是Spring Boot版本迭代的重要方向,各版本顺应Java生态的发展,逐步引入了Reactive编程、虚拟线程等新模型:

3.2.1 Spring Boot 2.x:引入Reactive编程模型

Spring Boot 2.x基于Spring 5.x,首次全面支持Reactive编程模型,这是其最核心的特性之一:

  • 集成Spring WebFlux:作为Spring MVC的Reactive替代方案,支持非阻塞I/O,适用于高并发、低延迟的场景(如API网关、实时推送服务)。

  • 提供Reactive数据访问支持:通过spring-boot-starter-data-redis-reactivespring-boot-starter-data-mongodb-reactive等starter,支持对Redis、MongoDB等组件的Reactive操作。

  • 支持Reactive Security:Spring Security 5.x提供了对Reactive应用的安全认证支持,实现了非阻塞的身份认证与授权。

不足:Reactive编程模型的学习曲线较陡,且对第三方组件的支持不完善(如多数关系型数据库不支持Reactive操作),因此在企业中并未大规模普及,大多数应用仍基于Spring MVC的同步编程模型。

3.2.2 Spring Boot 3.x:强化Reactive与引入AOT编译

Spring Boot 3.x在Reactive编程的基础上,引入了AOT(Ahead-of-Time)编译,同时优化了编程模型的兼容性:

  • AOT编译支持:通过提前编译Java代码为字节码,减少应用启动时的动态类加载与反射操作,大幅提升启动速度(可提升50%以上),同时减少内存占用。

  • Reactive编程优化:完善了Spring WebFlux的生态适配,新增了对更多组件的Reactive支持(如PostgreSQL的Reactive驱动),同时优化了Reactive流的背压机制。

  • 支持GraalVM Native镜像:结合AOT编译,可将Spring Boot应用打包为Native镜像,启动时间可缩短至毫秒级(如从几十秒缩短到几百毫秒),镜像体积也大幅减小(从几百MB缩小到几十MB),非常适合云原生环境。

3.2.3 Spring Boot 4.x:全面拥抱虚拟线程

Spring Boot 4.x基于Java 21,全面引入虚拟线程(Virtual Threads)编程模型,解决了传统线程模型的性能瓶颈:

  • 默认启用虚拟线程:Spring Boot 4.x的Web容器(Tomcat、Jetty)默认使用虚拟线程池,开发者无需修改代码,即可享受虚拟线程带来的高并发性能提升(如支持百万级并发连接)。

  • 简化并发编程:虚拟线程是轻量级线程,无需手动管理线程池参数,开发者可以像编写同步代码一样编写高并发应用,大幅降低并发编程的复杂度。

  • 兼容现有编程模型:虚拟线程与传统线程模型完全兼容,现有基于Spring MVC的应用无需修改代码即可迁移到虚拟线程,同时Reactive编程模型仍被支持,开发者可根据场景选择。

关于虚拟线程的详细内容,可以查看往期文章:Java 21 必学!虚拟线程从基础到落地全解析:让高并发开发更简单-CSDN博客

3.3 性能优化:从启动速度到运行效率的持续提升

性能优化是各版本迭代的核心目标之一,Spring Boot 2、3、4在启动速度、内存占用、运行效率等方面持续突破:

3.3.1 Spring Boot 2.x:基础性能优化

Spring Boot 2.x针对1.x的性能问题,进行了一系列基础优化:

  • 优化了自动配置流程:减少了不必要的Bean创建与初始化,启动速度提升约20%。

  • 引入Caffeine缓存:替代了Guava缓存,提升了缓存的性能与并发能力。

  • 优化了数据源自动配置:默认使用HikariCP作为数据源连接池(替代Tomcat JDBC),HikariCP是目前性能最优的JDBC连接池,大幅提升了数据库访问效率。

3.3.2 Spring Boot 3.x:AOT与Native带来的性能飞跃

Spring Boot 3.x的性能优化主要依赖AOT编译与GraalVM Native镜像,带来了革命性的提升:

  • 启动速度大幅提升:基于AOT编译的应用启动时间较2.x缩短50%以上;打包为Native镜像后,启动时间可缩短至毫秒级(如一个简单的Web应用,Native镜像启动时间仅需300ms左右,而2.x需10s以上)。

  • 内存占用显著降低:Native镜像通过静态分析移除了不必要的代码与依赖,内存占用较2.x减少60%以上(如2.x应用运行时内存需512MB,Native镜像仅需200MB左右)。

  • 运行效率优化:AOT编译减少了运行时的反射与动态代理操作,热点代码的执行效率提升约30%。

3.3.3 Spring Boot 4.x:虚拟线程与模块化的性能强化

Spring Boot 4.x在3.x的基础上,结合Java 21的虚拟线程与模块化特性,进一步优化性能:

  • 高并发性能提升:虚拟线程支持百万级并发连接,较传统线程模型(支持万级并发)提升两个数量级,非常适合高并发的Web应用与微服务。

  • 模块化带来的加载效率提升:通过Java模块系统,仅加载应用所需的模块,减少了类加载的开销,启动速度较3.x再提升20%以上。

  • 垃圾回收优化:结合Java 21的ZGC改进,垃圾回收停顿时间进一步缩短(可控制在1ms以内),提升了应用的稳定性与响应速度。

3.4 云原生能力:从基础适配到深度融合

云原生是近年来Java生态的发展趋势,Spring Boot 2、3、4在云原生能力上逐步从基础适配走向深度融合:

3.4.1 Spring Boot 2.x:云原生基础适配

Spring Boot 2.x对云原生的支持处于基础阶段,主要通过Spring Cloud生态实现:

  • 支持容器化部署:优化了应用的打包方式,支持生成可直接运行的Docker镜像(通过spring-boot-starter-docker-compose)。

  • 集成Spring Cloud:通过Spring Cloud的服务发现、配置中心、熔断降级等组件,实现微服务的云原生部署。

  • 健康检查与监控:通过spring-boot-starter-actuator暴露健康检查端点,支持Kubernetes的存活探针与就绪探针。

不足:容器化部署的优化不足(如镜像体积大、启动慢),对Kubernetes的原生支持有限,需要大量额外配置。

3.4.2 Spring Boot 3.x:云原生能力深化

Spring Boot 3.x重点强化了对云原生的原生支持,减少了对Spring Cloud的依赖:

  • 原生Kubernetes支持:新增spring-boot-starter-kubernetes,支持Kubernetes的配置映射(ConfigMap)、密钥(Secret)的自动挂载,以及服务发现的原生适配。

  • Native镜像优化:针对云原生环境,优化了Native镜像的打包流程,支持多阶段构建,生成的镜像体积更小、启动更快。

  • 可观测性增强:通过spring-boot-starter-actuator集成Micrometer,支持Prometheus、Grafana等监控工具的原生适配,同时暴露分布式追踪端点,支持Jaeger、Zipkin等追踪工具。

3.4.3 Spring Boot 4.x:云原生与AI生态融合

Spring Boot 4.x将云原生能力与AI生态深度融合,打造新一代云原生应用框架:

  • Serverless适配:支持将应用打包为Serverless函数(如AWS Lambda、阿里云函数计算),通过spring-boot-starter-serverless实现函数的快速开发与部署。

  • 云原生AI集成:通过spring-boot-starter-ai,支持在云原生环境中快速集成AI模型服务(如部署在Kubernetes上的LLM模型),实现"微服务+AI"的协同运行。

  • 弹性伸缩优化:结合Kubernetes的HPA(水平Pod自动伸缩)与虚拟线程的高并发能力,实现应用的精细化弹性伸缩,提升资源利用率。

四、版本迁移核心要点与实践指南

从Spring Boot 2.x迁移到3.x,再到4.x,涉及大量的API变更、依赖调整与配置修改,以下是各版本迁移的核心要点与实践指南:

4.1 从Spring Boot 2.x迁移到3.x:核心挑战与解决方案

Spring Boot 2.x到3.x的迁移是难度最大的一次,核心挑战在于Jakarta EE的包名迁移,具体要点如下:

4.1.1 依赖与包名修改

  • 升级Java版本:确保应用运行在Java 17及以上版本。

  • 修改核心依赖包名:将所有javax.*包名替换为jakarta.*,如:

    • javax.servletjakarta.servlet

    • javax.persistencejakarta.persistence

    • javax.validationjakarta.validation

  • 升级第三方依赖:确保使用的第三方组件支持Jakarta EE 9+(如MyBatis 3.5.10+、Hibernate 6.0+),淘汰不支持的老旧组件。

4.1.2 配置与API变更

  • 配置项变更:部分配置项的前缀或名称发生变化,如spring.datasource.url保持不变,但部分数据源相关的配置项前缀从spring.datasource.tomcat改为spring.datasource.hikari(默认数据源连接池仍为HikariCP)。

  • API移除与替代:部分过时的API被移除,如SpringApplicationBuilder的部分方法,需使用新的API替代(可参考Spring Boot 3.x官方迁移指南)。

  • Actuator端点变更:部分Actuator端点的路径发生变化,如/actuator/health的响应格式优化,需要调整监控工具的配置。

4.1.3 实践建议

  • 分阶段迁移:先将2.x版本升级到2.7(最后一个LTS版本),解决所有过时API的警告,再迁移到3.x。

  • 使用迁移工具:Spring提供了spring-boot-migrator工具,可自动检测并修复部分迁移问题(如包名替换)。

  • 充分测试:迁移后需重点测试依赖组件的兼容性、配置项的正确性、以及Actuator监控与健康检查功能。

4.2 从Spring Boot 3.x迁移到4.x:核心要点与优化建议

Spring Boot 3.x到4.x的迁移难度相对较小,核心是Java版本升级与虚拟线程的适配,具体要点如下:

4.2.1 Java版本升级

  • 升级到Java 21+:确保应用运行在Java 21或22版本,同时检查第三方依赖是否支持Java 21+。

  • 适配Java 21新特性:如密封类、record、虚拟线程等,可根据需要优化代码(如使用record简化配置类)。

4.2.2 虚拟线程适配

  • 默认启用虚拟线程:Spring Boot 4.x的Web容器默认使用虚拟线程池,无需修改代码即可生效,但需注意:

    • 避免使用ThreadLocal:虚拟线程的ThreadLocal会导致内存泄漏,建议使用InheritableThreadLocal或上下文传递工具(如Micrometer的Context Propagation)。

    • 优化阻塞操作:虚拟线程擅长处理阻塞操作(如IO阻塞),但需确保第三方组件的阻塞操作是可中断的(如使用支持虚拟线程的JDBC驱动)。

  • 手动配置虚拟线程池:如果需要自定义线程池,可通过Executors.newVirtualThreadPerTaskExecutor()创建虚拟线程池。

4.2.3 模块化与AI生态集成

  • 模块化改造:可根据需要将应用拆分为Java模块,提升可维护性与加载效率(非强制要求)。

  • AI生态集成:如果需要使用AI功能,可引入spring-boot-starter-ai,快速集成OpenAI等服务(需配置API密钥与端点)。

4.2.4 实践建议

  • 先升级依赖:将3.x应用的所有依赖升级到最新稳定版本,确保支持Java 21+。

  • 逐步适配虚拟线程:先在非核心服务中启用虚拟线程,测试稳定性后再推广到核心服务。

  • 利用AI辅助优化:可使用Spring Boot 4.x的AI配置建议功能,优化应用的配置参数与性能。

五、版本选型建议

根据企业的技术栈、应用场景与业务需求,选择合适的Spring Boot版本至关重要,以下是针对性的选型建议:

5.1 选择Spring Boot 2.x(推荐2.7)

适用场景:

  • 企业仍使用Java 8/11,短期内无法升级Java版本。

  • 应用基于传统Java EE组件开发,依赖大量不支持Jakarta EE的老旧第三方组件。

  • 现有系统稳定运行,无迫切的性能优化或云原生部署需求。

注意事项:Spring Boot 2.x已停止维护(2.7版本维护至2023年11月),需关注安全漏洞,建议尽快制定迁移计划。

5.2 选择Spring Boot 3.x(推荐3.2)

适用场景:

  • 企业已升级到Java 17+,希望平衡稳定性与性能。

  • 应用需要部署在云原生环境(Kubernetes),追求更快的启动速度与更小的内存占用。

  • 需要使用AOT编译、Native镜像等特性,优化应用的部署与运行效率。

注意事项:3.2版本是LTS版本,支持至2029年,是目前新项目开发的首选版本,生态成熟,兼容性好。

5.3 选择Spring Boot 4.x

适用场景:

  • 企业已升级到Java 21+,追求极致的高并发性能。

  • 应用需要部署为Serverless函数,或需要集成AI生态(如LLM模型)。

  • 对应用的可维护性与模块化有较高要求,希望利用Java 21的最新特性。

注意事项:4.x版本处于活跃迭代期,部分第三方组件的适配可能不完善,建议在非核心业务中先试点使用,待生态成熟后再全面推广。

六、总结

Spring Boot 2、3、4三个版本的演进,是Java生态发展的缩影:从Java 8到Java 21,从Java EE到Jakarta EE,从传统微服务到云原生+AI,每一次迭代都紧跟技术趋势,解决开发者的核心痛点。

Spring Boot 2.x奠定了自动化配置的基础,是企业数字化转型的重要支撑;3.x完成了Jakarta EE迁移与云原生能力深化,开启了高性能部署的新篇章;4.x全面拥抱虚拟线程与AI生态,为新一代高并发、智能化应用提供了强大动力。

对于开发者而言,版本选型需结合企业实际情况,平衡稳定性、性能与生态适配;版本迁移则需遵循分阶段、先测试、再推广的原则,充分利用官方工具与文档,降低迁移风险。未来,随着Java生态的持续发展,Spring Boot将继续引领微服务开发的潮流,为开发者带来更高效、更智能的开发体验。

END

如果觉得这份基础知识点总结清晰,别忘了动动小手点个赞👍,再关注一下呀~ 后续还会分享更多有关面试问题的干货技巧,同时一起解锁更多好用的功能,少踩坑多提效!🥰 你的支持就是我更新的最大动力,咱们下次分享再见呀~🌟

相关推荐
郝学胜-神的一滴1 天前
线程同步:并行世界的秩序守护者
java·linux·开发语言·c++·程序人生
superman超哥1 天前
Rust 移动语义(Move Semantics)的工作原理:零成本所有权转移的深度解析
开发语言·后端·rust·工作原理·深度解析·rust移动语义·move semantics
_loehuang_1 天前
【mole】Mole User 开源用户中心:一站式身份认证与权限管理解决方案
spring boot·nacos·开源·用户中心·mole
superman超哥1 天前
Rust 所有权转移在函数调用中的表现:编译期保证的零成本抽象
开发语言·后端·rust·函数调用·零成本抽象·rust所有权转移
源代码•宸1 天前
goframe框架签到系统项目开发(实现总积分和积分明细接口、补签日期校验)
后端·golang·postman·web·dao·goframe·补签
无限进步_1 天前
【C语言】堆(Heap)的数据结构与实现:从构建到应用
c语言·数据结构·c++·后端·其他·算法·visual studio
掉鱼的猫1 天前
灵动如画 —— 初识 Solon Graph Fluent API 编排
java·openai·workflow
初次攀爬者1 天前
基于知识库的知策智能体
后端·ai编程