ContiNew

什么是 ContiNew Starter

ContiNew Starter 是什么、从何而来(源自 ContiNew Admin 的能力抽离)、解决什么问题与包含哪些模块。

ContiNew Starter(Continue New Starter)基于“约定优于配置”理念,进一步精简常规配置,提供完整的配置解决方案,帮助开发人员更快速地将常用第三方库或工具集成到 Spring Boot Web 应用程序中。

它封装了一系列经过企业实践验证的依赖包(如 MyBatis-Plus、Sa-Token、Redisson、JetCache 等),可轻松集成到应用中,减少开发人员手动引入依赖及配置的工作量,为 Spring Boot Web 项目的灵活快速构建提供支持。

项目起源

ContiNew Starter 源自 ContiNew Admin 后台管理框架项目。随着 ContiNew Admin 的发展,作者发现初学者需要关注过多的脚手架通用基础能力,且在新项目中复用这些能力时存在迁移困难的问题。于是,ContiNew Starter 应运而生,作者在 ContiNew Admin 2.x 版本时,将项目中的通用基础能力进行了抽离并深度优化。这样,无论是在 ContiNew Admin 中使用,还是单独使用这些基础能力,都可以更加轻松。

解决什么问题

在开发一个 Java Web 项目之前,我们可能需要做如下准备工作:

  1. 引入 Spring Boot 父项目进行版本锁定(无 Spring 不 Java)。
  2. 引入 Spring Boot Web 依赖。
  3. 根据需求引入不同组件的 Starter。
  4. 针对引入的 Starter 进行配置(查阅文档或通过搜索引擎查找常用配置):
    • 编写 Java 配置;
    • 编写 application.yml 配置。
  5. 编写各类全局处理器。
  6. 开始业务开发。

在 Spring Boot “约定优于配置” 理念的帮助下,我们开发一个 Spring Java Web 程序已经简化到了不可思议的程度,而且很多设计良好的组件 Starter 提供了极大的扩展性,提供了非常多的配置,给使用者最大的可行性,当你需要处理一些自定义场景时,这些配置简直是太过方便。

然而,高度扩展性也带来了配置复杂性,新手用户在初次使用组件时往往需要花费大量精力在配置上。因此,各种脚手架项目应运而生,你可能会想,这基础配置关脚手架项目什么事?脚手架项目的作用不仅仅是提供一系列通用基础功能,更多的是提供了一种通用的解决方案,无论是针对所使用组件的配置,还是实现的某个功能的设计,亦或是开发规范。即使是初学者,把脚手架项目拿过来,只需要删减不需要的功能,修改品牌元素,就可以继续在其基础上进行开发一个成熟的项目。

ContiNew Starter 将脚手架项目中的通用基础配置进行封装与深度优化,从企业实践角度精简配置,使新项目或已有项目在使用这些组件时更加便捷。

落到实现上是四件事:

  • 统一的依赖管理:全部第三方依赖版本由 continew-starter-dependencies 统一供给,你无需关心版本号,也无需担心组件间的版本冲突;
  • 开箱即用的自动配置:每个模块通过 Spring Boot 3 的 AutoConfiguration.imports 机制注册,引入即生效,无需手写配置类;
  • 约定优于配置:合理的默认值让你多数情况下「零配置」可用,需要定制时再以 continew-starter.<module> 前缀的属性覆盖;
  • 企业实践验证:封装的组件与默认参数来自真实企业项目实践,而非简单包装。

模块总览

ContiNew Starter 是一个多模块 Starter 库,按功能划分为以下模块(点击可查看对应文档)。聚合模块以 -core 子模块定义接口与通用逻辑,-mp / -mf 提供特定 ORM 实现,按需选择。

环境要求

要求版本
JDK17+(使用方运行时;本仓库自身构建基线为 JDK 25,产物字节码 Java 17)
Spring Boot3.x
构建工具Maven 3.9+(或等效 Gradle)

ContiNew Starter 2.x 基于 Spring Boot 3.x 与 JDK 17。仍在使用 Spring Boot 2.x 的项目请参考历史版本文档。

项目源码

目录