外观
快速开始
本例将标签列表 [Java, Spring, Java] 去重为 [Java, Spring],保留首次出现的顺序。完成后即可确认依赖和调用方式正确;无需启动 Spring Boot、配置 YAML 或连接数据库。
1. 准备项目
准备 Java 25、Maven 3.9+,先用 java -version 和 mvn -version 确认实际使用的 JDK。Maven 仓库需要能解析 EFC 的 4.1.0-SNAPSHOT 构件;缺少平台 POM、BOM 或 Constant JAR 时,按 Dependencies 接入配置仓库或安装源码。
已有 Java Maven 项目时,按下一步合并依赖;从空目录开始时,使用下一步折叠区中的完整 POM。项目已有 EFC 项目 BOM 或 Component BOM 时,不必重复导入。
2. 添加依赖
将下列内容合并到项目 POM 对应位置:
xml
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.own</groupId>
<artifactId>springboot-component-dependencies</artifactId>
<version>4.1.0-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.own</groupId>
<artifactId>constant</artifactId>
</dependency>
</dependencies>BOM 只管理版本;constant 才是运行时依赖。已有 Base 等组件可能已传递引入 Constant,应用直接使用它的 API 时也可以显式声明依赖。
从空目录开始:完整 pom.xml
在空目录创建以下 pom.xml,然后继续第 3 步。已有公司 Maven 镜像时按公司的仓库配置解析构件。
xml
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>example</groupId>
<artifactId>constant-demo</artifactId>
<version>1.0-SNAPSHOT</version>
<repositories>
<repository>
<id>chenxueli-public</id>
<url>https://nexus.chenxueli.cn/repository/maven-public/</url>
<releases><enabled>true</enabled></releases>
<snapshots><enabled>true</enabled></snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>chenxueli-public</id>
<url>https://nexus.chenxueli.cn/repository/maven-public/</url>
</pluginRepository>
</pluginRepositories>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>com.own</groupId>
<artifactId>springboot-component-dependencies</artifactId>
<version>4.1.0-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>com.own</groupId>
<artifactId>constant</artifactId>
</dependency>
</dependencies>
</project>本 POM 用于下文的 Java 源文件启动方式。需要使用 mvn compile 等常规构建命令时,再按构建配置配置 Compiler 插件。
3. 编写并运行程序
创建 src/main/java/example/ConstantQuickstart.java:
java
package example;
import com.own.constant.util.list.ListUtil;
import java.util.List;
public class ConstantQuickstart {
public static void main(String[] args) {
var tags = List.of("Java", "Spring", "Java");
var uniqueTags = ListUtil.distinct(tags);
System.out.println("去重后=" + uniqueTags);
System.out.println("原列表=" + tags);
}
}在 IDE 中加载 Maven 依赖,选择 JDK 25 运行该类的 main,应输出:
text
去重后=[Java, Spring]
原列表=[Java, Spring, Java]也可在 macOS/Linux 的项目根目录通过 Java 源文件启动器执行:
sh
mvn dependency:build-classpath -Dmdep.outputFile=target/constant-classpath.txt
java --class-path "$(cat target/constant-classpath.txt)" src/main/java/example/ConstantQuickstart.java该方式直接使用 Java 25 编译运行源文件;BOM 本身不会为已有项目设置 Maven Compiler 插件,常规构建配置见 Parent 与 BOM 的区别。
4. 改变输入,理解结果
distinct 返回一个新列表,保留每个值首次出现的位置,原列表保持不变。把输入改为 List.of("Spring", "Java", "Spring") 再运行,去重结果应为 [Spring, Java],不会自动按字母排序。
如果列表装的是对象,需要按某个字段去重,继续查看去重与拆分中的 distinct(list, keyExtractor)。
接下来按任务选择即可:需要组合颜色与尺码时看候选组合分页,需要隐藏手机号时看脱敏展示,需要统一异常或调度多个处理步骤时看响应与 Hook。完整入口见模块概览。