Public API 索引
API 浏览器由构建脚本从 src/main/java 的真实 public/protected API 自动生成,覆盖 11 个正式发布模块,不再依赖手写种子数据或 iframe Javadoc frames。
AiClient
com.undernine.utils.ai.AiClient
AI 模型调用入口。
under-utils-ai/src/main/java/com/undernine/utils/ai/AiClient.java
4 个 public/protected 成员
-
static Builder builder()创建 OpenAI-compatible AI client 构建器。 -
ChatResponse chat(ChatRequest request)执行文本对话。 -
default ChatResponse chat(String userMessage)执行单条 user 消息文本对话。 -
final class BuilderAI client 构建器。
AiClientOptions
com.undernine.utils.ai.AiClientOptions
AI 客户端配置。
under-utils-ai/src/main/java/com/undernine/utils/ai/AiClientOptions.java
14 个 public/protected 成员
-
public static Builder builder()创建配置构建器。 -
public String getApiKey()API key。可能为空,为空时不会发送 Authorization header。 -
public String getBaseUrl()模型服务基础地址。 -
public String getChatCompletionsPath()Chat Completions 路径。 -
public Map<String, String> getHeaders()默认请求头。 -
public int getMaxRetries()最大重试次数。 -
public Integer getMaxTokens()默认最大输出 token 数。 -
public String getModel()默认模型名称。 -
public Duration getRetryInterval()重试间隔。 -
public Double getTemperature()默认采样温度。 -
public Duration getTimeout()HTTP 超时时间。 -
public Builder toBuilder()基于当前配置创建构建器。 -
public String toString() -
public static final class BuilderAI 客户端配置构建器。
AiClientProvider
com.undernine.utils.ai.AiClientProvider
AI client provider 扩展点。
under-utils-ai/src/main/java/com/undernine/utils/ai/AiClientProvider.java
4 个 public/protected 成员
-
AiClient create(AiClientOptions options)创建 AI client。 -
static String normalize(String provider)规范化 provider 名称。 -
String provider()provider 名称。 -
default boolean supports(String provider)当前 provider 是否支持给定名称。
AiClientRegistry
com.undernine.utils.ai.AiClientRegistry
按名称管理多个 AI client 的注册表。
under-utils-ai/src/main/java/com/undernine/utils/ai/AiClientRegistry.java
9 个 public/protected 成员
-
default boolean contains(String name)是否存在指定名称的 AI client。 -
Optional<AiClient> find(String name)按名称查找 AI client。 -
AiClient get(String name)按名称获取 AI client。 -
default AiClient getDefaultClient()默认 AI client。 -
String getDefaultName()默认客户端名称。 -
default StreamingAiClient getDefaultStreaming()获取默认的流式 AI client。 -
default StreamingAiClient getStreaming(String name)按名称获取支持流式对话的 AI client。 -
Set<String> names()已注册的客户端名称。 -
static String normalizeName(String name)规范化客户端名称。
AiErrorType
com.undernine.utils.ai.AiErrorType
AI 调用错误分类。
under-utils-ai/src/main/java/com/undernine/utils/ai/AiErrorType.java
8 个 public/protected 成员
-
public static final AiErrorType AUTHENTICATION鉴权失败或无权限。 -
public static final AiErrorType CLIENT_ERROR客户端请求错误。 -
public static final AiErrorType NETWORK网络连接失败。 -
public static final AiErrorType RATE_LIMIT触发模型服务限流。 -
public static final AiErrorType RESPONSE_PARSE响应解析失败。 -
public static final AiErrorType SERVER_ERROR模型服务端错误。 -
public static final AiErrorType TIMEOUT请求超时。 -
public static final AiErrorType UNKNOWN未归类错误。
AiException
com.undernine.utils.ai.AiException
AI 模型调用异常。
under-utils-ai/src/main/java/com/undernine/utils/ai/AiException.java
6 个 public/protected 成员
-
public AiException(AiErrorType errorType, String message, int statusCode, String errorCode, boolean retryable)构造 AI 调用异常。 -
public AiException(AiErrorType errorType, String message, int statusCode, String errorCode, boolean retryable, Throwable cause)构造 AI 调用异常。 -
public String getErrorCode()上游错误码。 -
public AiErrorType getErrorType()错误分类。 -
public int getStatusCode()HTTP 状态码,没有响应时为 0。 -
public boolean isRetryable()是否适合由调用方重试。
AiProviderNames
com.undernine.utils.ai.AiProviderNames
AI provider 名称常量。
under-utils-ai/src/main/java/com/undernine/utils/ai/AiProviderNames.java
1 个 public/protected 成员
-
public static final String OPENAI_COMPATIBLEOpenAI-compatible Chat Completions 协议。
AiResponseMetadata
com.undernine.utils.ai.AiResponseMetadata
AI 响应元数据。
under-utils-ai/src/main/java/com/undernine/utils/ai/AiResponseMetadata.java
8 个 public/protected 成员
-
public static Builder builder()创建响应元数据构建器。 -
public Duration getDuration()请求耗时。 -
public String getModelFingerprint()模型指纹。 -
public String getProvider()provider 名称。 -
public String getRequestId()调用方传入的请求 ID。 -
public String getResponseId()模型服务返回的响应 ID。 -
public String toString() -
public static final class Builder响应元数据构建器。
ChatMessage
com.undernine.utils.ai.ChatMessage
对话消息。
under-utils-ai/src/main/java/com/undernine/utils/ai/ChatMessage.java
6 个 public/protected 成员
-
public static ChatMessage assistant(String content)创建 assistant 消息。 -
public String getContent()消息内容。 -
public ChatRole getRole()消息角色。 -
public static ChatMessage system(String content)创建 system 消息。 -
public String toString() -
public static ChatMessage user(String content)创建 user 消息。
ChatRequest
com.undernine.utils.ai.ChatRequest
文本对话请求。
under-utils-ai/src/main/java/com/undernine/utils/ai/ChatRequest.java
11 个 public/protected 成员
-
public static Builder builder()创建请求构建器。 -
public Map<String, Object> getExtraBody()透传给 OpenAI-compatible API 的额外请求字段。 -
public Integer getMaxTokens()最大输出 token 数。 -
public List<ChatMessage> getMessages()对话消息。 -
public String getModel()本次请求覆盖的模型名称。 -
public String getRequestId()请求 ID。 -
public Double getTemperature()采样温度。 -
public Builder toBuilder()基于当前请求创建构建器。 -
public String toString() -
public static ChatRequest user(String content)创建只有一条 user 消息的请求。 -
public static final class Builder对话请求构建器。
ChatResponse
com.undernine.utils.ai.ChatResponse
文本对话响应。
under-utils-ai/src/main/java/com/undernine/utils/ai/ChatResponse.java
13 个 public/protected 成员
-
public ChatResponse(String text, String model, String finishReason, String requestId, TokenUsage usage)创建文本对话响应。 -
public ChatResponse(String text, String model, String finishReason, String requestId, TokenUsage usage, AiResponseMetadata metadata)创建文本对话响应。 -
public Duration getDuration()请求耗时。 -
public String getFinishReason()结束原因。 -
public AiResponseMetadata getMetadata()响应元数据。 -
public String getModel()模型名称。 -
public String getModelFingerprint()模型指纹。 -
public String getRequestId()请求 ID。 -
public String getResponseId()模型服务返回的响应 ID。 -
public String getText()文本结果。 -
public TokenUsage getUsage()token 用量。 -
public String text()文本结果。 -
public String toString()
ChatRole
com.undernine.utils.ai.ChatRole
对话消息角色。
under-utils-ai/src/main/java/com/undernine/utils/ai/ChatRole.java
4 个 public/protected 成员
-
public static final ChatRole ASSISTANT模型回复。 -
public static final ChatRole SYSTEM系统提示词。 -
public static final ChatRole USER用户消息。 -
public String wireName()协议中的角色名称。
ChatStream
com.undernine.utils.ai.ChatStream
流式文本对话响应。
under-utils-ai/src/main/java/com/undernine/utils/ai/ChatStream.java
4 个 public/protected 成员
-
public ChatStream(Iterator<ChatStreamEvent> iterator, AutoCloseable closeAction)创建流式响应。 -
public void close() -
public Iterator<ChatStreamEvent> iterator() -
public Stream<ChatStreamEvent> stream()转为 Java Stream。
ChatStreamEvent
com.undernine.utils.ai.ChatStreamEvent
流式文本对话事件。
under-utils-ai/src/main/java/com/undernine/utils/ai/ChatStreamEvent.java
15 个 public/protected 成员
-
public ChatStreamEvent(String text, String role, String model, String finishReason, TokenUsage usage, AiResponseMetadata metadata, boolean done)创建流式文本对话事件。 -
public String delta()增量文本,等价于 #text() 。 -
public String getFinishReason()结束原因。 -
public AiResponseMetadata getMetadata()响应元数据。 -
public String getModel()模型名称。 -
public String getModelFingerprint()模型指纹。 -
public String getRequestId()调用方传入的请求 ID。 -
public String getResponseId()模型服务返回的响应 ID。 -
public String getRole()消息角色。 -
public String getText()增量文本。 -
public TokenUsage getUsage()token 用量。 -
public boolean hasText()是否包含非空文本增量。 -
public boolean isDone()是否结束事件。 -
public String text()增量文本。 -
public String toString()
DefaultAiClientRegistry
com.undernine.utils.ai.DefaultAiClientRegistry
默认 AI client 注册表实现。
under-utils-ai/src/main/java/com/undernine/utils/ai/DefaultAiClientRegistry.java
6 个 public/protected 成员
-
public DefaultAiClientRegistry(Map<String, ? extends AiClient> clients, String defaultName)创建注册表。 -
public Optional<AiClient> find(String name) -
public AiClient get(String name) -
public String getDefaultName() -
public Set<String> names() -
public String toString()
OpenAiCompatibleAiClient
com.undernine.utils.ai.OpenAiCompatibleAiClient
OpenAI-compatible Chat Completions 客户端。
under-utils-ai/src/main/java/com/undernine/utils/ai/OpenAiCompatibleAiClient.java
4 个 public/protected 成员
-
public OpenAiCompatibleAiClient(AiClientOptions options)创建 OpenAI-compatible AI client。 -
public ChatResponse chat(ChatRequest request) -
public AiClientOptions getOptions()客户端配置。 -
public ChatStream streamChat(ChatRequest request)
OpenAiCompatibleAiClientProvider
com.undernine.utils.ai.OpenAiCompatibleAiClientProvider
OpenAI-compatible AI client provider。
under-utils-ai/src/main/java/com/undernine/utils/ai/OpenAiCompatibleAiClientProvider.java
2 个 public/protected 成员
-
public AiClient create(AiClientOptions options) -
public String provider()
StreamingAiClient
com.undernine.utils.ai.StreamingAiClient
支持流式文本对话的 AI client。
under-utils-ai/src/main/java/com/undernine/utils/ai/StreamingAiClient.java
2 个 public/protected 成员
-
ChatStream streamChat(ChatRequest request)执行流式文本对话。 -
default ChatStream streamChat(String userMessage)执行单条 user 消息流式文本对话。
TokenUsage
com.undernine.utils.ai.TokenUsage
模型 token 用量。
under-utils-ai/src/main/java/com/undernine/utils/ai/TokenUsage.java
5 个 public/protected 成员
-
public TokenUsage(int promptTokens, int completionTokens, int totalTokens)创建 token 用量。 -
public int getCompletionTokens()completion token 数。 -
public int getPromptTokens()prompt token 数。 -
public int getTotalTokens()总 token 数。 -
public String toString()
UnderUtilsAiAutoConfiguration
com.undernine.utils.starter.autoconfigure.UnderUtilsAiAutoConfiguration
AI 模块自动装配。
under-utils-ai-starter/src/main/java/com/undernine/utils/starter/autoconfigure/UnderUtilsAiAutoConfiguration.java
2 个 public/protected 成员
-
public AiClient aiClient(AiClientRegistry aiClientRegistry)创建默认 AI client。 -
public AiClientRegistry aiClientRegistry(UnderUtilsAiProperties properties, ObjectProvider<AiClientProvider> aiClientProviders)创建 AI client 注册表。
UnderUtilsAiProperties
com.undernine.utils.starter.properties.UnderUtilsAiProperties
AI 自动装配配置。
under-utils-ai-starter/src/main/java/com/undernine/utils/starter/properties/UnderUtilsAiProperties.java
29 个 public/protected 成员
-
public String getApiKey() -
public String getBaseUrl() -
public String getChatCompletionsPath() -
public Map<String, Client> getClients() -
public String getDefaultClient() -
public Map<String, String> getHeaders() -
public int getMaxRetries() -
public Integer getMaxTokens() -
public String getModel() -
public String getProvider() -
public Duration getRetryInterval() -
public Double getTemperature() -
public Duration getTimeout() -
public boolean isEnabled() -
public void setApiKey(String apiKey) -
public void setBaseUrl(String baseUrl) -
public void setChatCompletionsPath(String chatCompletionsPath) -
public void setClients(Map<String, Client> clients) -
public void setDefaultClient(String defaultClient) -
public void setEnabled(boolean enabled) -
public void setHeaders(Map<String, String> headers) -
public void setMaxRetries(int maxRetries) -
public void setMaxTokens(Integer maxTokens) -
public void setModel(String model) -
public void setProvider(String provider) -
public void setRetryInterval(Duration retryInterval) -
public void setTemperature(Double temperature) -
public void setTimeout(Duration timeout) -
public static class Client单个命名 AI client 配置。
AsyncImportTaskTemplate
com.undernine.utils.biz.importtask.AsyncImportTaskTemplate
异步导入任务模板。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/AsyncImportTaskTemplate.java
13 个 public/protected 成员
-
public AsyncImportTaskTemplate(Executor executor)使用默认导入选项创建异步模板。 -
public AsyncImportTaskTemplate(ImportOptions options, Executor executor)使用指定导入选项创建异步模板。 -
public AsyncImportTaskTemplate(ImportOptions options, Executor executor, Duration taskRetention)使用指定导入选项、执行器和任务状态保留时间创建异步模板。 -
public AsyncImportTaskTemplate(ImportOptions options, Executor executor, Duration taskRetention, Duration cleanupInterval)使用指定导入选项、执行器、任务状态保留时间和清理间隔创建异步模板。 -
public void close()关闭任务状态后台清理线程。 -
public Optional<Throwable> findFailure(String taskId)查询任务级失败。 -
public Optional<ImportProgress> findProgress(String taskId)查询任务进度。 -
public Optional<ImportResult> findResult(String taskId)查询已完成任务的导入结果。 -
public void remove(String taskId)移除任务快照。 -
public <R, T> String submit(ImportRowReader<R> rowReader, ImportRowHandler<R, T> handler)提交行读取器导入任务,并自动生成任务 ID。读取器会在后台任务结束时关闭。 -
public <R, T> String submit(Iterable<R> rows, ImportRowHandler<R, T> handler)提交 Iterable 行数据导入任务,并自动生成任务 ID。 -
public <R, T> String submit(String taskId, ImportRowReader<R> rowReader, ImportRowHandler<R, T> handler)提交行读取器导入任务。读取器会在后台任务结束时关闭。 -
public <R, T> String submit(String taskId, Iterable<R> rows, ImportRowHandler<R, T> handler)提交 Iterable 行数据导入任务。
CsvImportRowReader
com.undernine.utils.biz.importtask.CsvImportRowReader
CSV 导入行读取器。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/CsvImportRowReader.java
6 个 public/protected 成员
-
public static Builder builder(Reader reader)创建 CSV 读取器构建器。 -
public void close() throws IOException -
public Iterator<CsvRow> iterator() -
public static CsvImportRowReader of(Reader reader)创建默认 CSV 读取器。 -
public enum BlankRowPolicyCSV 空白行策略。 -
public static final class BuilderCSV 导入行读取器构建器。
CsvRow
com.undernine.utils.biz.importtask.CsvRow
CSV 导入原始行。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/CsvRow.java
9 个 public/protected 成员
-
public CsvRow(int rowNumber, List<String> headers, List<String> values)创建 CSV 行。 -
public boolean containsHeader(String header)判断是否存在表头。 -
public String get(String header)按表头取值。未知表头或值缺失时返回 null。 -
public String get(int index)按 0-based 下标取值。下标越界时返回 null。 -
public List<String> getHeaders()表头列表。 -
public int getRowNumber()输入源中的 1-based 行号。 -
public List<String> getValues()当前行值列表。 -
public boolean isBlank()判断当前行是否为空白行。 -
public String toString()
ImportErrorCodes
com.undernine.utils.biz.importtask.ImportErrorCodes
导入任务内置错误码。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/ImportErrorCodes.java
3 个 public/protected 成员
-
public static final String PARSE_ERROR行解析失败。 -
public static final String PROCESS_ERROR行处理失败。 -
public static final String VALIDATION_ERROR行校验失败。
ImportErrorExporter
com.undernine.utils.biz.importtask.ImportErrorExporter
导入行级错误导出工具。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/ImportErrorExporter.java
2 个 public/protected 成员
-
public static String toCsv(List<ImportRowError> errors)将行级错误导出为 CSV 字符串。 -
public static void writeCsv(List<ImportRowError> errors, Appendable out) throws IOException将行级错误写入 CSV。
ImportOptions
com.undernine.utils.biz.importtask.ImportOptions
导入任务执行选项。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/ImportOptions.java
9 个 public/protected 成员
-
public static final int UNLIMITED_ERRORSmaxErrors 为 0 时表示不限制错误数量。 -
public static Builder builder()创建导入选项构建器。 -
public static ImportOptions defaults()返回默认导入选项。 -
public int getMaxErrors()最大收集错误数,0 表示不限制。 -
public ImportProgressListener getProgressListener()获取导入进度监听器。 -
public boolean isFailFast()是否在首个失败行后停止。 -
public boolean isSkipBlankRows()是否跳过空白行。 -
public Builder toBuilder()基于当前选项创建构建器。 -
public static final class Builder导入选项构建器。
ImportProgress
com.undernine.utils.biz.importtask.ImportProgress
导入任务进度快照。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/ImportProgress.java
14 个 public/protected 成员
-
public ImportProgress(String taskId, ImportTaskStatus status, int totalCount, int successCount, int failureCount, int skippedCount, int errorCount, Instant startedAt, Instant finishedAt, String failureMessage)构造导入进度快照。 -
public static ImportProgress completed(String taskId, Instant startedAt, Instant finishedAt, ImportResult result)从执行结果创建完成态进度。 -
public static ImportProgress failed(String taskId, Instant startedAt, Instant finishedAt, ImportProgress previous, String failureMessage)创建任务级失败进度。 -
public int getErrorCount() -
public int getFailureCount() -
public String getFailureMessage() -
public Instant getFinishedAt() -
public int getSkippedCount() -
public Instant getStartedAt() -
public ImportTaskStatus getStatus() -
public int getSuccessCount() -
public String getTaskId() -
public int getTotalCount() -
public static ImportProgress pending(String taskId, Instant startedAt)创建初始进度。
ImportProgressListener
com.undernine.utils.biz.importtask.ImportProgressListener
导入进度监听器。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/ImportProgressListener.java
2 个 public/protected 成员
-
static ImportProgressListener noop()返回空监听器。 -
void onProgress(ImportProgress progress)接收进度快照。
ImportResult
com.undernine.utils.biz.importtask.ImportResult
导入任务执行结果。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/ImportResult.java
7 个 public/protected 成员
-
public ImportResult(int totalCount, int successCount, int failureCount, int skippedCount, List<ImportRowError> rowErrors)构造导入结果。 -
public int getFailureCount()失败行数。 -
public List<ImportRowError> getRowErrors()行级错误列表。 -
public int getSkippedCount()跳过行数。 -
public int getSuccessCount()成功行数。 -
public int getTotalCount()总行数。快速失败或达到 maxErrors 后提前停止时,表示已读取并处理的行数。 -
public boolean isAllSuccess()是否全部成功。
ImportRowContext
com.undernine.utils.biz.importtask.ImportRowContext
当前导入行上下文。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/ImportRowContext.java
3 个 public/protected 成员
-
public ImportRowContext(int rowNumber)构造行上下文。 -
public int getRowIndex()0-based 行索引。 -
public int getRowNumber()1-based 行号。
ImportRowError
com.undernine.utils.biz.importtask.ImportRowError
导入行级错误。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/ImportRowError.java
8 个 public/protected 成员
-
public ImportRowError(int rowNumber, String field, String errorCode, String message, String rawRowSummary)构造行级错误。 -
public String getErrorCode()错误码。 -
public String getField()字段名。 -
public String getMessage()错误消息。 -
public String getRawRowSummary()原始行摘要。 -
public int getRowNumber()1-based 行号。 -
public static ImportRowError of(String field, String errorCode, String message)创建不含行号的错误,模板会在执行时补齐当前行号。 -
public static ImportRowError of(int rowNumber, String field, String errorCode, String message)创建包含行号的错误。
ImportRowHandler
com.undernine.utils.biz.importtask.ImportRowHandler
导入行处理器。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/ImportRowHandler.java
5 个 public/protected 成员
-
default boolean isBlankRow(R rawRow)判断原始行是否为空白行。默认仅将 null 视为空白行。 -
T parse(R rawRow, ImportRowContext context) throws Exception解析原始行。 -
void process(T row, ImportRowContext context) throws Exception处理校验通过的业务行。 -
default String summarizeRawRow(R rawRow)生成原始行摘要,用于错误收集。默认使用 String.valueOf(rawRow)。 -
default List<ImportRowError> validate(T row, ImportRowContext context) throws Exception校验业务行,可返回多个行级错误。
ImportRowReader
com.undernine.utils.biz.importtask.ImportRowReader
导入行读取器。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/ImportRowReader.java
1 个 public/protected 成员
-
void close() throws Exception关闭底层输入资源。
ImportTaskException
com.undernine.utils.biz.importtask.ImportTaskException
导入任务级异常。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/ImportTaskException.java
3 个 public/protected 成员
-
public ImportTaskException(String message)构造任务级异常。 -
public ImportTaskException(String message, Throwable cause)构造任务级异常。 -
public ImportTaskException(Throwable cause)构造任务级异常。
ImportTaskStatus
com.undernine.utils.biz.importtask.ImportTaskStatus
导入任务状态。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/ImportTaskStatus.java
4 个 public/protected 成员
-
public static final ImportTaskStatus COMPLETED已正常结束。是否存在行级错误需要继续查看 ImportResult 。 -
public static final ImportTaskStatus FAILED任务级失败,例如读取器异常、配置错误或处理器主动抛出 ImportTaskException 。 -
public static final ImportTaskStatus PENDING已登记,尚未开始执行。 -
public static final ImportTaskStatus RUNNING正在执行。
ImportTaskTemplate
com.undernine.utils.biz.importtask.ImportTaskTemplate
导入任务模板。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/ImportTaskTemplate.java
8 个 public/protected 成员
-
public ImportTaskTemplate()使用默认选项创建模板。 -
public ImportTaskTemplate(ImportOptions options)使用指定选项创建模板。 -
public static ImportTaskTemplate create()使用默认选项创建模板。 -
public static ImportTaskTemplate create(ImportOptions options)使用指定选项创建模板。 -
public <R, T> ImportResult execute(ImportRowReader<R> rowReader, ImportRowHandler<R, T> handler)导入行读取器数据。模板会在执行完成或异常退出时关闭读取器。 -
public <R, T> ImportResult execute(Iterable<R> rows, ImportRowHandler<R, T> handler)导入 Iterable 行数据。 -
public <R, T> ImportResult execute(List<R> rows, ImportRowHandler<R, T> handler)导入 List 行数据。 -
public ImportOptions getOptions()获取模板选项。
RowValidationException
com.undernine.utils.biz.importtask.RowValidationException
行级校验异常。
under-utils-biz/src/main/java/com/undernine/utils/biz/importtask/RowValidationException.java
5 个 public/protected 成员
-
public RowValidationException(ImportRowError rowError)构造单个错误的行级校验异常。 -
public RowValidationException(List<ImportRowError> rowErrors)构造多个错误的行级校验异常。 -
public RowValidationException(String message)构造行级校验异常。 -
public RowValidationException(String message, Throwable cause)构造行级校验异常。 -
public List<ImportRowError> getRowErrors()行级错误列表。
CollectionUtils
com.undernine.utils.core.collection.CollectionUtils
集合工具类。
under-utils-core/src/main/java/com/undernine/utils/core/collection/CollectionUtils.java
19 个 public/protected 成员
-
public static <T> boolean addAll(Collection<T> collection, T[] elements)批量添加元素到集合。 -
public static <T> boolean contains(Collection<T> collection, T element)判断集合是否包含指定元素(空安全)。 -
public static <T> List<T> distinct(Collection<T> collection)对集合去重(保持原有顺序)。 -
public static <T> T get(List<T> list, int index)安全地获取 List 指定索引位置的元素。 -
public static <T> T get(List<T> list, int index, T defaultValue)安全地获取 List 指定索引位置的元素,如果越界则返回默认值。 -
public static <T> T getFirst(List<T> list)安全地获取 List 的第一个元素。 -
public static <T> T getLast(List<T> list)安全地获取 List 的最后一个元素。 -
public static <T> List<T> intersection(Collection<T> coll1, Collection<T> coll2)集合交集(获取两个集合的公共元素)。 -
public static boolean isEmpty(Collection<?> collection)判断集合是否为空(null 或不含任何元素)。 -
public static boolean isEmpty(Map<?, ?> map)判断 Map 是否为空(null 或不含任何键值对)。 -
public static boolean isNotEmpty(Collection<?> collection)判断集合是否非空(不为 null 且包含至少一个元素)。 -
public static boolean isNotEmpty(Map<?, ?> map)判断 Map 是否非空(不为 null 且包含至少一个键值对)。 -
public static <T, R> List<R> map(Collection<T> collection, Function<T, R> mapper)集合转换(映射)。 -
public static <T> List<List<T>> partition(List<T> list, int batchSize)将 List 分批处理(分页)。 -
public static int size(Collection<?> collection)获取集合的大小(元素个数)。 -
public static int size(Map<?, ?> map)获取 Map 的大小(键值对个数)。 -
public static <T> List<T> subtract(Collection<T> coll1, Collection<T> coll2)集合差集(获取第一个集合中不在第二个集合中的元素)。 -
public static <T> List<T> toList(T[] array)将数组转换为 List。 -
public static <T> List<T> union(Collection<T> coll1, Collection<T> coll2)集合并集(合并两个集合并去重)。
AESUtils
com.undernine.utils.core.crypto.AESUtils
AES 加密解密工具类。
under-utils-core/src/main/java/com/undernine/utils/core/crypto/AESUtils.java
9 个 public/protected 成员
-
public static String decrypt(String cipherText, String key, String iv)AES 解密(CBC 模式,Base64 编码)。 -
public static byte[] decryptBytes(byte[] cipherBytes, String key, String iv)AES 解密(字节数组,CBC 模式)。 -
public static String decryptECB(String cipherText, String key)AES 解密(ECB 模式,不需要 IV)。 -
public static String encrypt(String plainText, String key, String iv)AES 加密(CBC 模式,Base64 编码)。 -
public static byte[] encryptBytes(byte[] plainBytes, String key, String iv)AES 加密(字节数组,CBC 模式)。 -
public static String encryptECB(String plainText, String key)AES 加密(ECB 模式,不需要 IV,不推荐使用)。 -
public static String generateIV()生成随机 IV(初始化向量)。 -
public static String generateKey()生成随机 AES 密钥(128 位)。 -
public static String generateKey(int keySize)生成随机 AES 密钥(指定位数)。
MD5Utils
com.undernine.utils.core.crypto.MD5Utils
MD5 摘要工具类。
under-utils-core/src/main/java/com/undernine/utils/core/crypto/MD5Utils.java
9 个 public/protected 成员
-
public static String md5(String text)计算字符串的 MD5 值(32 位小写十六进制)。 -
public static String md5(byte[] bytes)计算字节数组的 MD5 值(32 位小写十六进制)。 -
public static byte[] md5Bytes(byte[] bytes)计算字节数组的 MD5 值(返回字节数组)。 -
public static String md5Short(String text)计算字符串的 MD5 值(16 位小写十六进制,取中间 16 位)。 -
public static String md5ShortUpper(String text)计算字符串的 MD5 值(16 位大写十六进制,取中间 16 位)。 -
public static String md5Upper(String text)计算字符串的 MD5 值(32 位大写十六进制)。 -
public static String md5WithSalt(String text, String salt)计算加盐的 MD5 值。 -
public static boolean verify(String text, String md5Value)验证 MD5 值是否匹配。 -
public static boolean verifyWithSalt(String text, String salt, String md5Value)验证加盐 MD5 值是否匹配。
SHA256Utils
com.undernine.utils.core.crypto.SHA256Utils
SHA-256 摘要工具类。
under-utils-core/src/main/java/com/undernine/utils/core/crypto/SHA256Utils.java
8 个 public/protected 成员
-
public static String sha256(String text)计算字符串的 SHA-256 值(64 位小写十六进制)。 -
public static String sha256(byte[] bytes)计算字节数组的 SHA-256 值(64 位小写十六进制)。 -
public static byte[] sha256Bytes(byte[] bytes)计算字节数组的 SHA-256 值(返回字节数组)。 -
public static String sha256Multiple(String text, int times)对字符串进行多次 SHA-256 哈希(增强安全性)。 -
public static String sha256Upper(String text)计算字符串的 SHA-256 值(64 位大写十六进制)。 -
public static String sha256WithSalt(String text, String salt)计算加盐的 SHA-256 值。 -
public static boolean verify(String text, String sha256Value)验证 SHA-256 值是否匹配。 -
public static boolean verifyWithSalt(String text, String salt, String sha256Value)验证加盐 SHA-256 值是否匹配。
IdGenerator
com.undernine.utils.core.id.IdGenerator
分布式 ID 生成器(雪花算法 Snowflake)
under-utils-core/src/main/java/com/undernine/utils/core/id/IdGenerator.java
6 个 public/protected 成员
-
public IdGenerator()构造方法。 -
public IdGenerator(long datacenterId, long workerId)构造方法。 -
public synchronized long nextId()生成下一个 ID(线程安全)。 -
public String nextIdStr()生成下一个 ID(字符串形式)。 -
public IdInfo parseId(long id)解析 ID,获取其包含的信息。 -
public static class IdInfoID 信息类
UUIDUtils
com.undernine.utils.core.id.UUIDUtils
UUID 生成工具类。
under-utils-core/src/main/java/com/undernine/utils/core/id/UUIDUtils.java
11 个 public/protected 成员
-
public static String fromBytes(byte[] bytes)从字节数组创建 UUID 字符串。 -
public static boolean isValidUUID(String uuid)验证字符串是否为有效的 UUID 格式。 -
public static String nameUUIDFromString(String name)基于名称生成 UUID(MD5 算法,版本 3)。 -
public static String nameUUIDFromStringNoDash(String name)基于名称生成 UUID(不包含连字符)。 -
public static String randomUUID()生成标准的随机 UUID(包含连字符)。 -
public static String randomUUIDNoDash()生成随机 UUID(不包含连字符)。 -
public static String randomUUIDUpperNoDash()生成随机 UUID(大写,不包含连字符)。 -
public static String shortUUID()生成短 UUID(22 位,Base62 编码)。 -
public static String timeBasedUUID()生成基于时间戳的有序 UUID(适合数据库索引)。 -
public static String timeBasedUUIDWithDash()生成基于时间戳的有序 UUID(带连字符,标准格式)。 -
public static byte[] toBytes(String uuid)将 UUID 字符串转换为字节数组。
JsonException
com.undernine.utils.core.json.JsonException
JSON 处理异常
under-utils-core/src/main/java/com/undernine/utils/core/json/JsonException.java
2 个 public/protected 成员
-
public JsonException(String message)构造函数 -
public JsonException(String message, Throwable cause)构造函数
JsonUtils
com.undernine.utils.core.json.JsonUtils
JSON 工具类。
under-utils-core/src/main/java/com/undernine/utils/core/json/JsonUtils.java
9 个 public/protected 成员
-
public static <T> T fromJson(String json, Class<T> clazz)将 JSON 字符串反序列化为指定类型的对象。 -
public static <T> T fromJson(String json, TypeReference<T> typeReference)将 JSON 字符串反序列化为指定类型的对象(支持泛型)。 -
public static ObjectMapper getObjectMapper()获取 ObjectMapper 实例(用于高级定制)。 -
public static boolean isValidJson(String json)判断字符串是否为有效的 JSON 格式。 -
public static String toJson(Object obj)将对象序列化为 JSON 字符串。 -
public static String toPrettyJson(Object obj)将对象序列化为格式化的 JSON 字符串(带缩进)。 -
public static <T> T tryFromJson(String json, Class<T> clazz)安全地将 JSON 字符串反序列化为指定类型的对象,失败时返回 null。 -
public static <T> T tryFromJson(String json, TypeReference<T> typeReference)安全地将 JSON 字符串反序列化为指定类型的对象(支持泛型),失败时返回 null。 -
public static String tryToJson(Object obj)安全地将对象序列化为 JSON 字符串,失败时返回 null。
MoneyUtils
com.undernine.utils.core.money.MoneyUtils
金额计算工具类
under-utils-core/src/main/java/com/undernine/utils/core/money/MoneyUtils.java
26 个 public/protected 成员
-
public static BigDecimal abs(BigDecimal value)获取金额的绝对值。 -
public static BigDecimal add(BigDecimal value1, BigDecimal value2)金额相加。 -
public static BigDecimal add(BigDecimal[] values)多个金额相加。 -
public static int compare(BigDecimal value1, BigDecimal value2)比较两个金额的大小。 -
public static BigDecimal divide(BigDecimal dividend, BigDecimal divisor)金额相除(使用默认的四舍五入模式)。 -
public static BigDecimal divide(BigDecimal dividend, BigDecimal divisor, int scale, RoundingMode roundingMode)金额相除(指定小数位数和舍入模式)。 -
public static boolean equals(BigDecimal value1, BigDecimal value2)判断两个金额是否相等。 -
public static BigDecimal fen2Yuan(Long fen)分转元。 -
public static String format(BigDecimal value)格式化金额为标准显示格式(保留 2 位小数,千分位分隔)。 -
public static String format(BigDecimal value, String pattern)格式化金额为指定格式。 -
public static String formatWithSymbol(BigDecimal value)格式化金额为货币显示格式(带货币符号)。 -
public static String formatWithSymbol(BigDecimal value, String symbol)格式化金额为货币显示格式(自定义货币符号)。 -
public static boolean greaterThan(BigDecimal value1, BigDecimal value2)判断金额是否大于另一个金额。 -
public static boolean greaterThanOrEqual(BigDecimal value1, BigDecimal value2)判断金额是否大于等于另一个金额。 -
public static boolean isNegative(BigDecimal value)判断金额是否为负数。 -
public static boolean isPositive(BigDecimal value)判断金额是否为正数。 -
public static boolean isZero(BigDecimal value)判断金额是否为零。 -
public static boolean lessThan(BigDecimal value1, BigDecimal value2)判断金额是否小于另一个金额。 -
public static boolean lessThanOrEqual(BigDecimal value1, BigDecimal value2)判断金额是否小于等于另一个金额。 -
public static BigDecimal max(BigDecimal value1, BigDecimal value2)获取两个金额中的较大值。 -
public static BigDecimal min(BigDecimal value1, BigDecimal value2)获取两个金额中的较小值。 -
public static BigDecimal multiply(BigDecimal value1, BigDecimal value2)金额相乘。 -
public static BigDecimal negate(BigDecimal value)获取金额的相反数。 -
public static BigDecimal setScale(BigDecimal value, int scale)设置金额的小数位数(使用默认的四舍五入模式)。 -
public static BigDecimal subtract(BigDecimal value1, BigDecimal value2)金额相减。 -
public static Long yuan2Fen(BigDecimal yuan)元转分(四舍五入到整数)。
StringUtils
com.undernine.utils.core.string.StringUtils
字符串工具类。
under-utils-core/src/main/java/com/undernine/utils/core/string/StringUtils.java
9 个 public/protected 成员
-
public static String defaultIfBlank(String str, String defaultValue)返回默认值(如果字符串为空白)。 -
public static String defaultIfEmpty(String str, String defaultValue)返回默认值(如果字符串为空)。 -
public static boolean isBlank(String str)判断字符串是否为空白(null、空字符串或只包含空白字符)。 -
public static boolean isEmpty(String str)判断字符串是否为空(null 或去除首尾空格后长度为 0)。 -
public static boolean isNotBlank(String str)判断字符串是否非空白。 -
public static boolean isNotEmpty(String str)判断字符串是否非空(不为 null 且去除首尾空格后长度大于 0)。 -
public static String trim(String str)安全地对字符串进行 trim 操作,如果字符串为 null 则返回 null。 -
public static String trimToEmpty(String str)安全地对字符串进行 trim 操作,如果字符串为 null 或 trim 后为空则返回空字符串。 -
public static String trimToNull(String str)安全地对字符串进行 trim 操作,如果字符串为 null 或 trim 后为空则返回 null。
LocalDateTimeUtils
com.undernine.utils.core.time.LocalDateTimeUtils
日期时间工具类(基于 Java 8+ 的 LocalDateTime)。
under-utils-core/src/main/java/com/undernine/utils/core/time/LocalDateTimeUtils.java
15 个 public/protected 成员
-
public static final String PATTERN_DATE标准日期格式:yyyy-MM-dd -
public static final String PATTERN_DATETIME标准日期时间格式:yyyy-MM-dd HH:mm:ss -
public static final String PATTERN_DATETIME_COMPACT紧凑日期时间格式:yyyyMMddHHmmss -
public static final String PATTERN_DATE_COMPACT紧凑日期格式:yyyyMMdd -
public static final String PATTERN_TIME标准时间格式:HH:mm:ss -
public static String format(LocalDate date)将 LocalDate 格式化为字符串(使用标准格式 yyyy-MM-dd)。 -
public static String format(LocalDateTime dateTime)将 LocalDateTime 格式化为字符串(使用标准格式 yyyy-MM-dd HH:mm:ss)。 -
public static String format(LocalDateTime dateTime, String pattern)将 LocalDateTime 格式化为字符串(使用指定格式)。 -
public static String now()获取当前日期时间的字符串表示(使用标准格式 yyyy-MM-dd HH:mm:ss)。 -
public static LocalDate parseDate(String dateStr)解析字符串为 LocalDate(使用标准格式 yyyy-MM-dd)。 -
public static LocalDateTime parseDateTime(String dateTimeStr)解析字符串为 LocalDateTime(使用标准格式 yyyy-MM-dd HH:mm:ss)。 -
public static LocalDateTime parseDateTime(String dateTimeStr, String pattern)解析字符串为 LocalDateTime(使用指定格式)。 -
public static String today()获取当前日期的字符串表示(使用标准格式 yyyy-MM-dd)。 -
public static LocalDateTime tryParseDateTime(String dateTimeStr)安全解析字符串为 LocalDateTime,解析失败时返回 null 而不抛异常。 -
public static LocalDateTime tryParseDateTime(String dateTimeStr, String pattern)安全解析字符串为 LocalDateTime(使用指定格式),解析失败时返回 null 而不抛异常。
ValidationUtils
com.undernine.utils.core.validation.ValidationUtils
参数校验工具类。
under-utils-core/src/main/java/com/undernine/utils/core/validation/ValidationUtils.java
15 个 public/protected 成员
-
public static boolean containsChinese(String str)校验字符串中是否包含中文字符。 -
public static boolean isAlpha(String str)校验字符串是否只包含字母。 -
public static boolean isAlphanumeric(String str)校验字符串是否只包含字母和数字。 -
public static boolean isChinese(String str)校验是否全部为中文字符。 -
public static boolean isDecimal(String str)校验是否为小数。 -
public static boolean isEmail(String email)校验是否为有效的邮箱地址。 -
public static boolean isIdCard(String idCard)校验是否为有效的身份证号(18 位,含校验位验证)。 -
public static boolean isInRange(Number value, Number min, Number max)校验数值是否在指定范围内(包含边界)。 -
public static boolean isInteger(String str)校验是否为整数(包括正负整数)。 -
public static boolean isIpv4(String ip)校验是否为有效的 IPv4 地址。 -
public static boolean isLengthInRange(String str, int minLength, int maxLength)校验字符串长度是否在指定范围内(包含边界)。 -
public static boolean isNumber(String str)校验是否为数字(整数或小数)。 -
public static boolean isPhone(String phone)校验是否为有效的中国大陆手机号(11 位)。 -
public static boolean isUrl(String url)校验是否为有效的 URL 地址。 -
public static boolean matches(String str, String regex)校验字符串是否符合指定的正则表达式。
OkHttpRequestExecutor
com.undernine.utils.http.client.OkHttpRequestExecutor
OkHttp 请求执行器。
under-utils-http/src/main/java/com/undernine/utils/http/client/OkHttpRequestExecutor.java
2 个 public/protected 成员
-
public OkHttpRequestExecutor(HttpConfig config)构造方法 -
public HttpResponse execute(HttpRequest httpRequest)执行 HTTP 请求
HttpConfig
com.undernine.utils.http.config.HttpConfig
HTTP 配置类
under-utils-http/src/main/java/com/undernine/utils/http/config/HttpConfig.java
8 个 public/protected 成员
-
public HttpConfig addDefaultHeader(String name, String value)添加默认请求头 -
public static HttpConfig defaultConfig()创建默认配置 -
public Duration getConnectTimeoutDuration()连接超时时间。 -
public Duration getKeepAliveTimeDuration()连接保活时间。 -
public Duration getReadTimeoutDuration()读取超时时间。 -
public Duration getRetryIntervalDuration()重试间隔。 -
public Duration getWriteTimeoutDuration()写入超时时间。 -
public static class HttpConfigBuilderHTTP 配置构建器扩展。
HttpMethod
com.undernine.utils.http.enums.HttpMethod
HTTP 请求方法枚举
under-utils-http/src/main/java/com/undernine/utils/http/enums/HttpMethod.java
7 个 public/protected 成员
-
public static final HttpMethod DELETEDELETE 请求 -
public static final HttpMethod GETGET 请求 -
public static final HttpMethod HEADHEAD 请求 -
public static final HttpMethod OPTIONSOPTIONS 请求 -
public static final HttpMethod PATCHPATCH 请求 -
public static final HttpMethod POSTPOST 请求 -
public static final HttpMethod PUTPUT 请求
HttpException
com.undernine.utils.http.exception.HttpException
HTTP 异常基类
under-utils-http/src/main/java/com/undernine/utils/http/exception/HttpException.java
3 个 public/protected 成员
-
public HttpException(String message)构造方法 -
public HttpException(String message, Throwable cause)构造方法 -
public HttpException(Throwable cause)构造方法
HttpNetworkException
com.undernine.utils.http.exception.HttpNetworkException
HTTP 网络异常
under-utils-http/src/main/java/com/undernine/utils/http/exception/HttpNetworkException.java
2 个 public/protected 成员
-
public HttpNetworkException(String message)构造方法 -
public HttpNetworkException(String message, Throwable cause)构造方法
HttpTimeoutException
com.undernine.utils.http.exception.HttpTimeoutException
HTTP 超时异常
under-utils-http/src/main/java/com/undernine/utils/http/exception/HttpTimeoutException.java
2 个 public/protected 成员
-
public HttpTimeoutException(String message)构造方法 -
public HttpTimeoutException(String message, Throwable cause)构造方法
AccessTokenProvider
com.undernine.utils.http.openapi.AccessTokenProvider
开放平台 access token 提供者 SPI。
under-utils-http/src/main/java/com/undernine/utils/http/openapi/AccessTokenProvider.java
2 个 public/protected 成员
-
String getAccessToken(OpenApiRequest request)获取当前请求的 access token。 -
static AccessTokenProvider noop()默认不提供 token。
ApiErrorDecodeResult
com.undernine.utils.http.openapi.ApiErrorDecodeResult
开放平台错误解码结果。
under-utils-http/src/main/java/com/undernine/utils/http/openapi/ApiErrorDecodeResult.java
2 个 public/protected 成员
-
public static ApiErrorDecodeResult failure(String errorCode, String errorMessage, boolean retryable)创建失败解码结果。 -
public static ApiErrorDecodeResult success()创建成功解码结果。
ApiErrorDecoder
com.undernine.utils.http.openapi.ApiErrorDecoder
开放平台错误解码 SPI。
under-utils-http/src/main/java/com/undernine/utils/http/openapi/ApiErrorDecoder.java
3 个 public/protected 成员
-
ApiErrorDecodeResult decode(OpenApiRequest request, HttpResponse httpResponse)解码 HTTP 响应中的成功、错误和重试语义。 -
static ApiErrorDecoder httpStatus()默认按 HTTP 2xx 判定成功。 -
static boolean isRetryableHttpStatus(int statusCode)
DefaultOpenApiClient
com.undernine.utils.http.openapi.DefaultOpenApiClient
默认开放平台客户端,基于现有 HttpRequest / HttpResponse 执行请求。
under-utils-http/src/main/java/com/undernine/utils/http/openapi/DefaultOpenApiClient.java
6 个 public/protected 成员
-
public DefaultOpenApiClient() -
public DefaultOpenApiClient(OpenApiClientOptions options) -
public DefaultOpenApiClient(OpenApiClientOptions options, AccessTokenProvider accessTokenProvider, RequestSigner requestSigner, ApiErrorDecoder errorDecoder) -
public <T> OpenApiResponse<T> execute(OpenApiRequest request, Class<T> responseType) -
public <T> OpenApiResponse<T> execute(OpenApiRequest request, TypeReference<T> typeReference) -
public OpenApiResponse<String> execute(OpenApiRequest request)
OpenApiClient
com.undernine.utils.http.openapi.OpenApiClient
开放平台调用客户端。
under-utils-http/src/main/java/com/undernine/utils/http/openapi/OpenApiClient.java
3 个 public/protected 成员
-
<T> OpenApiResponse<T> execute(OpenApiRequest request, Class<T> responseType)执行请求并将成功响应解析为指定类型。 -
<T> OpenApiResponse<T> execute(OpenApiRequest request, TypeReference<T> typeReference)执行请求并将成功响应解析为指定泛型类型。 -
OpenApiResponse<String> execute(OpenApiRequest request)执行请求并返回原始字符串数据。
OpenApiClientOptions
com.undernine.utils.http.openapi.OpenApiClientOptions
开放平台客户端配置。
under-utils-http/src/main/java/com/undernine/utils/http/openapi/OpenApiClientOptions.java
6 个 public/protected 成员
-
public static OpenApiClientOptions defaultOptions()返回默认配置。 -
public Duration getConnectTimeoutDuration()连接超时时间。 -
public Duration getReadTimeoutDuration()读取超时时间。 -
public Duration getRetryIntervalDuration()重试等待间隔。 -
public Duration getWriteTimeoutDuration()写入超时时间。 -
public static class OpenApiClientOptionsBuilderOpenAPI 客户端配置构建器扩展。
OpenApiException
com.undernine.utils.http.openapi.OpenApiException
开放平台调用治理异常。
under-utils-http/src/main/java/com/undernine/utils/http/openapi/OpenApiException.java
2 个 public/protected 成员
-
public OpenApiException(String message)构造开放平台调用治理异常。 -
public OpenApiException(String message, Throwable cause)构造开放平台调用治理异常。
OpenApiRequest
com.undernine.utils.http.openapi.OpenApiRequest
开放平台请求模型。
under-utils-http/src/main/java/com/undernine/utils/http/openapi/OpenApiRequest.java
2 个 public/protected 成员
-
public OpenApiRequest header(String name, String value)添加或覆盖请求头,供 token、签名等治理组件使用。 -
public OpenApiRequest query(String name, String value)添加或覆盖查询参数,供签名等治理组件使用。
OpenApiResponse
com.undernine.utils.http.openapi.OpenApiResponse
开放平台响应模型。
under-utils-http/src/main/java/com/undernine/utils/http/openapi/OpenApiResponse.java
RefreshingAccessTokenProvider
com.undernine.utils.http.openapi.RefreshingAccessTokenProvider
带本地缓存和提前刷新窗口的 access token 提供者。
under-utils-http/src/main/java/com/undernine/utils/http/openapi/RefreshingAccessTokenProvider.java
6 个 public/protected 成员
-
public RefreshingAccessTokenProvider(TokenFetcher tokenFetcher, Duration refreshAhead)创建 token 提供者。 -
public RefreshingAccessTokenProvider(TokenFetcher tokenFetcher, Duration refreshAhead, Clock clock)创建 token 提供者。 -
public String getAccessToken(OpenApiRequest request) -
public synchronized void invalidate()清除当前缓存 token,下次请求会重新拉取。 -
public static final class AccessTokenaccess token 值和过期时间。 -
public interface TokenFetchertoken 拉取器。
RequestSigner
com.undernine.utils.http.openapi.RequestSigner
开放平台请求签名 SPI。
under-utils-http/src/main/java/com/undernine/utils/http/openapi/RequestSigner.java
2 个 public/protected 成员
-
static RequestSigner noop()默认不签名。 -
void sign(OpenApiRequest request)对请求补充签名请求头或查询参数。
HttpRequest
com.undernine.utils.http.request.HttpRequest
HTTP 请求构建器
under-utils-http/src/main/java/com/undernine/utils/http/request/HttpRequest.java
13 个 public/protected 成员
-
public static Builder builder()创建构建器 -
public static Builder delete(String url)创建 DELETE 请求构建器。 -
public HttpResponse execute()执行请求(同步) -
public CompletableFuture<HttpResponse> executeAsync()执行请求(异步) -
public static Builder get(String url)创建 GET 请求构建器。 -
public static Builder head(String url)创建 HEAD 请求构建器。 -
public static Builder options(String url)创建 OPTIONS 请求构建器。 -
public static Builder patch(String url)创建 PATCH 请求构建器。 -
public static Builder post(String url)创建 POST 请求构建器。 -
public static Builder put(String url)创建 PUT 请求构建器。 -
public static Builder request(String url, HttpMethod method)创建指定方法和 URL 的请求构建器。 -
public Builder toBuilder()基于当前请求创建构建器。 -
public static class BuilderHTTP 请求构建器
HttpResponse
com.undernine.utils.http.response.HttpResponse
HTTP 响应封装类
under-utils-http/src/main/java/com/undernine/utils/http/response/HttpResponse.java
9 个 public/protected 成员
-
public byte[] asBytes()获取响应体字节数组 -
public <T> T asObject(Class<T> clazz)将响应体解析为指定类型的对象 -
public <T> T asObject(TypeReference<T> typeReference)将响应体解析为指定类型的对象(支持泛型) -
public String asString()获取响应体字符串 -
public String getHeader(String name)获取指定名称的响应头 -
public boolean hasHeader(String name)判断是否包含指定名称的响应头 -
public boolean isFail()请求是否失败(状态码非 2xx) -
public boolean isSuccess()请求是否成功(状态码 2xx) -
public void saveToFile(File file) throws IOException将响应体保存到文件
HttpUtils
com.undernine.utils.http.util.HttpUtils
HTTP 工具类
under-utils-http/src/main/java/com/undernine/utils/http/util/HttpUtils.java
18 个 public/protected 成员
-
public static String delete(String url)发送 DELETE 请求 -
public static HttpResponse deleteResponse(String url)发送 DELETE 请求并返回完整响应 -
public static void download(String url, File targetFile)下载文件 -
public static String get(String url)发送 GET 请求 -
public static String get(String url, Map<String, String> params)发送 GET 请求(带参数) -
public static String get(String url, Map<String, String> params, Map<String, String> headers)发送 GET 请求(带请求头) -
public static HttpConfig getDefaultConfig()获取全局默认配置 -
public static HttpResponse getResponse(String url)发送 GET 请求并返回完整响应 -
public static String postForm(String url, Map<String, String> formParams)发送 POST 请求(表单格式) -
public static String postJson(String url, Object body)发送 POST 请求(JSON 格式) -
public static HttpResponse postResponse(String url, Object body)发送 POST 请求并返回完整响应 -
public static String putJson(String url, Object body)发送 PUT 请求(JSON 格式) -
public static HttpResponse putResponse(String url, Object body)发送 PUT 请求并返回完整响应 -
public static void setDefaultConfig(HttpConfig config)设置全局默认配置 -
public static String upload(String url, String name, File file)上传文件 -
public static String upload(String url, String name, File file, Map<String, String> formParams)上传文件(带额外参数) -
public static String urlDecode(String value)URL 解码 -
public static String urlEncode(String value)URL 编码
MybatisPlusConfig
com.undernine.utils.mybatis.config.MybatisPlusConfig
MyBatis-Plus 配置类
under-utils-mybatis/src/main/java/com/undernine/utils/mybatis/config/MybatisPlusConfig.java
3 个 public/protected 成员
-
public static MybatisPlusInterceptor mybatisPlusInterceptor()创建 MyBatis-Plus 拦截器(使用默认 MySQL 数据库) -
public static MybatisPlusInterceptor mybatisPlusInterceptor(DbType dbType)创建 MyBatis-Plus 拦截器(指定数据库类型) -
public static PaginationInnerInterceptor paginationInterceptor(DbType dbType)创建分页插件(独立使用)
BaseEntity
com.undernine.utils.mybatis.entity.BaseEntity
基础实体类
under-utils-mybatis/src/main/java/com/undernine/utils/mybatis/entity/BaseEntity.java
AuditorProvider
com.undernine.utils.mybatis.handler.AuditorProvider
当前审计用户提供者。
under-utils-mybatis/src/main/java/com/undernine/utils/mybatis/handler/AuditorProvider.java
1 个 public/protected 成员
-
Long getCurrentAuditor()获取当前审计用户 ID。
DefaultMetaObjectHandler
com.undernine.utils.mybatis.handler.DefaultMetaObjectHandler
MyBatis-Plus 元数据自动填充处理器
under-utils-mybatis/src/main/java/com/undernine/utils/mybatis/handler/DefaultMetaObjectHandler.java
5 个 public/protected 成员
-
public DefaultMetaObjectHandler() -
public DefaultMetaObjectHandler(AuditorProvider auditorProvider) -
protected Long getUserId()获取当前用户 ID -
public void insertFill(MetaObject metaObject)插入时自动填充 -
public void updateFill(MetaObject metaObject)更新时自动填充
PageQuery
com.undernine.utils.mybatis.page.PageQuery
分页查询参数
under-utils-mybatis/src/main/java/com/undernine/utils/mybatis/page/PageQuery.java
6 个 public/protected 成员
-
public <T> Page<T> buildPage()构建 MyBatis-Plus Page 对象 -
public <T> Page<T> buildPage(List<OrderItem> defaultOrders)构建 MyBatis-Plus Page 对象(带默认排序) -
public static PageQuery of()创建默认分页查询参数 -
public static PageQuery of(Long current, Long size)创建分页查询参数 -
public PageQuery orderByAsc(String column)添加升序排序字段 -
public PageQuery orderByDesc(String column)添加降序排序字段
PageResult
com.undernine.utils.mybatis.page.PageResult
分页结果封装类
under-utils-mybatis/src/main/java/com/undernine/utils/mybatis/page/PageResult.java
4 个 public/protected 成员
-
public static <T> PageResult<T> empty()创建空分页结果 -
public static <T> PageResult<T> empty(Long current, Long size)创建空分页结果(指定分页参数) -
public static <T> PageResult<T> of(IPage<?> page, List<T> records)从 MyBatis-Plus IPage 转换为 PageResult(带数据转换) -
public static <T> PageResult<T> of(IPage<T> page)从 MyBatis-Plus IPage 转换为 PageResult
SafePageQuery
com.undernine.utils.mybatis.page.SafePageQuery
安全分页查询参数。
under-utils-mybatis/src/main/java/com/undernine/utils/mybatis/page/SafePageQuery.java
8 个 public/protected 成员
-
public <T> Page<T> buildPage(SortFieldMapping mapping)构建 MyBatis-Plus Page 对象。 -
public <T> Page<T> buildPage(SortFieldMapping mapping, List<SortOrder> defaultOrders)构建 MyBatis-Plus Page 对象(带默认排序)。 -
public <T> Page<T> buildPage(SortFieldMapping mapping, SortOrder[] defaultOrders)构建 MyBatis-Plus Page 对象(带默认排序)。 -
public static SafePageQuery of()创建默认分页查询参数。 -
public static SafePageQuery of(Long current, Long size)创建分页查询参数。 -
public SafePageQuery orderByAsc(String field)添加升序排序字段。 -
public SafePageQuery orderByDesc(String field)添加降序排序字段。 -
public static class SortOrder前端排序字段。
SortFieldMapping
com.undernine.utils.mybatis.page.SortFieldMapping
排序字段白名单映射。
under-utils-mybatis/src/main/java/com/undernine/utils/mybatis/page/SortFieldMapping.java
8 个 public/protected 成员
-
public Map<String, String> asMap()返回不可变映射快照。 -
public OrderItem asc(String field)创建升序排序项。 -
public static Builder builder()创建字段映射构建器。 -
public boolean contains(String field)是否允许指定前端字段排序。 -
public OrderItem desc(String field)创建降序排序项。 -
public static SortFieldMapping of(Map<String, String> mappings)创建字段映射。 -
public String toColumn(String field)将前端字段名解析为数据库列名。 -
public static final class Builder排序字段映射构建器。
CacheAsideTemplate
com.undernine.utils.redis.cache.CacheAsideTemplate
Cache-aside 访问模板。
under-utils-redis/src/main/java/com/undernine/utils/redis/cache/CacheAsideTemplate.java
13 个 public/protected 成员
-
public CacheAsideTemplate(RedissonClient redissonClient) -
public CacheAsideTemplate(RedissonClient redissonClient, CacheValueCodec valueCodec) -
public CacheAsideTemplate(RedissonClient redissonClient, CacheValueCodec valueCodec, CacheOptions defaultOptions) -
public CacheAsideTemplate(RedissonClient redissonClient, CacheValueCodec valueCodec, CacheOptions defaultOptions, CacheOperationObserver operationObserver) -
public <T> CacheQuery<T> cache(String key, Class<T> valueType)创建 cache-aside 链式调用。 -
public <T, E extends Throwable> T get(String key, Class<T> valueType, CacheLoadFunction<T, E> loader) throws E -
public <T, E extends Throwable> T get(String key, Class<T> valueType, CacheOptions options, CacheLoadFunction<T, E> loader) throws E -
public CacheMetrics getMetrics()返回当前缓存指标快照。 -
public <T, E extends Throwable> T getOrLoad(String key, Class<T> valueType, CacheLoadFunction<T, E> loader) throws E -
public <T, E extends Throwable> T getOrLoad(String key, Class<T> valueType, CacheOptions options, CacheLoadFunction<T, E> loader) throws E -
public <T> CacheQuery<T> key(String key, Class<T> valueType)创建 cache-aside 链式调用,等价于 #cache(String, Class) 。 -
public void resetMetrics()重置内置指标计数。 -
public final class CacheQueryCache-aside 链式调用对象。
CacheLoadFunction
com.undernine.utils.redis.cache.CacheLoadFunction
缓存未命中时加载源数据的函数式接口。
under-utils-redis/src/main/java/com/undernine/utils/redis/cache/CacheLoadFunction.java
1 个 public/protected 成员
-
T load(String key) throws E从源数据加载数据。
CacheMetrics
com.undernine.utils.redis.cache.CacheMetrics
缓存操作指标快照。
under-utils-redis/src/main/java/com/undernine/utils/redis/cache/CacheMetrics.java
15 个 public/protected 成员
-
public long getErrorCount() -
public long getHitCount() -
public double getHitRate() -
public long getLoadCount() -
public long getLoadFailureCount() -
public long getLoadSuccessCount() -
public long getLockAcquiredCount() -
public long getLockRejectedCount() -
public long getLookupCount() -
public long getMissCount() -
public double getMissRate() -
public long getRefreshFailureCount() -
public long getRefreshSubmittedCount() -
public long getRefreshSuccessCount() -
public long getWriteCount()
CacheOperationEvent
com.undernine.utils.redis.cache.CacheOperationEvent
缓存操作观测事件。
under-utils-redis/src/main/java/com/undernine/utils/redis/cache/CacheOperationEvent.java
10 个 public/protected 成员
-
public CacheOperationEvent(CacheOperationType operationType, String key, String cacheKey, boolean nullValue, long durationNanos, Throwable error)构造缓存操作事件。 -
public static CacheOperationEvent failed(CacheOperationType operationType, String key, String cacheKey, long durationNanos, Throwable error)创建失败事件。 -
public String getCacheKey() -
public long getDurationNanos() -
public Throwable getError() -
public String getKey() -
public CacheOperationType getOperationType() -
public boolean isNullValue() -
public static CacheOperationEvent of(CacheOperationType operationType, String key, String cacheKey, boolean nullValue)创建无耗时、无异常的事件。 -
public static CacheOperationEvent timed(CacheOperationType operationType, String key, String cacheKey, boolean nullValue, long durationNanos)创建带耗时的事件。
CacheOperationObserver
com.undernine.utils.redis.cache.CacheOperationObserver
Redis 缓存模板观测 SPI。
under-utils-redis/src/main/java/com/undernine/utils/redis/cache/CacheOperationObserver.java
12 个 public/protected 成员
-
static CacheOperationObserver noop()返回空 observer。 -
default void onHit(CacheOperationEvent event)缓存命中。 -
default void onLoadFailure(CacheOperationEvent event)源数据加载失败。 -
default void onLoadSuccess(CacheOperationEvent event)源数据加载成功。 -
default void onLockAcquired(CacheOperationEvent event)重建锁获取成功。 -
default void onLockRejected(CacheOperationEvent event)重建锁获取失败。 -
default void onMiss(CacheOperationEvent event)缓存未命中。 -
default void onRefreshFailure(CacheOperationEvent event)逻辑过期缓存后台刷新失败。 -
default void onRefreshSubmitted(CacheOperationEvent event)逻辑过期缓存提交后台刷新。 -
default void onRefreshSuccess(CacheOperationEvent event)逻辑过期缓存后台刷新成功。 -
default void onWrite(CacheOperationEvent event)缓存写入。 -
final class NoopCacheOperationObserver
CacheOperationType
com.undernine.utils.redis.cache.CacheOperationType
缓存模板类型。
under-utils-redis/src/main/java/com/undernine/utils/redis/cache/CacheOperationType.java
2 个 public/protected 成员
-
public static final CacheOperationType CACHE_ASIDECache-aside 读穿缓存。 -
public static final CacheOperationType LOGICAL_EXPIRE逻辑过期缓存。
CacheOptions
com.undernine.utils.redis.cache.CacheOptions
Cache-aside 模板配置。
under-utils-redis/src/main/java/com/undernine/utils/redis/cache/CacheOptions.java
16 个 public/protected 成员
-
public static Builder builder() -
public boolean cacheNull() -
public static CacheOptions defaults() -
public Duration jitter() -
public String keyPrefix() -
public Duration lockLeaseTime() -
public Duration lockWaitTime() -
public Duration nullTtl() -
public boolean nullValueCacheEnabled()是否缓存空值占位。 -
public Duration nullValueTtl()空值占位的 Redis TTL。 -
public boolean rebuildLockEnabled() -
public String rebuildLockKeyPrefix() -
public Builder toBuilder() -
public Duration ttl() -
public Duration valueTtl()正常业务值的 Redis TTL。 -
public static final class BuilderCacheOptions 构造器。
CacheRebuildLockException
com.undernine.utils.redis.cache.CacheRebuildLockException
缓存重建锁异常。
under-utils-redis/src/main/java/com/undernine/utils/redis/cache/CacheRebuildLockException.java
2 个 public/protected 成员
-
public CacheRebuildLockException(String message) -
public CacheRebuildLockException(String message, Throwable cause)
CacheValueCodec
com.undernine.utils.redis.cache.CacheValueCodec
缓存值编解码接口。
under-utils-redis/src/main/java/com/undernine/utils/redis/cache/CacheValueCodec.java
2 个 public/protected 成员
-
<T> T decode(String payload, Class<T> valueType)将 Redis 中的字符串解码为目标类型。 -
String encode(Object value)将对象编码为可写入 Redis 的字符串。
CountingCacheOperationObserver
com.undernine.utils.redis.cache.CountingCacheOperationObserver
基于 LongAdder 的缓存操作指标聚合器。
under-utils-redis/src/main/java/com/undernine/utils/redis/cache/CountingCacheOperationObserver.java
12 个 public/protected 成员
-
public void onHit(CacheOperationEvent event) -
public void onLoadFailure(CacheOperationEvent event) -
public void onLoadSuccess(CacheOperationEvent event) -
public void onLockAcquired(CacheOperationEvent event) -
public void onLockRejected(CacheOperationEvent event) -
public void onMiss(CacheOperationEvent event) -
public void onRefreshFailure(CacheOperationEvent event) -
public void onRefreshSubmitted(CacheOperationEvent event) -
public void onRefreshSuccess(CacheOperationEvent event) -
public void onWrite(CacheOperationEvent event) -
public void reset()重置所有计数。 -
public CacheMetrics snapshot()返回当前计数快照。
JacksonCacheValueCodec
com.undernine.utils.redis.cache.JacksonCacheValueCodec
基于 Jackson 的缓存值编解码实现。
under-utils-redis/src/main/java/com/undernine/utils/redis/cache/JacksonCacheValueCodec.java
4 个 public/protected 成员
-
public JacksonCacheValueCodec() -
public JacksonCacheValueCodec(ObjectMapper objectMapper) -
public <T> T decode(String payload, Class<T> valueType) -
public String encode(Object value)
LogicalExpireCacheOptions
com.undernine.utils.redis.cache.LogicalExpireCacheOptions
逻辑过期缓存模板配置。
under-utils-redis/src/main/java/com/undernine/utils/redis/cache/LogicalExpireCacheOptions.java
14 个 public/protected 成员
-
public static Builder builder() -
public boolean cacheNull() -
public static LogicalExpireCacheOptions defaults() -
public String keyPrefix() -
public Duration lockLeaseTime() -
public Duration lockWaitTime() -
public Duration logicalTtl() -
public boolean nullValueCacheEnabled()是否缓存空值占位。 -
public Duration physicalTtl() -
public String rebuildLockKeyPrefix() -
public Executor refreshExecutor() -
public LogicalExpireCacheRefreshFailureHandler refreshFailureHandler() -
public Builder toBuilder() -
public static final class BuilderLogicalExpireCacheOptions 构造器。
LogicalExpireCacheRefreshFailureHandler
com.undernine.utils.redis.cache.LogicalExpireCacheRefreshFailureHandler
逻辑过期缓存后台刷新失败处理器。
under-utils-redis/src/main/java/com/undernine/utils/redis/cache/LogicalExpireCacheRefreshFailureHandler.java
1 个 public/protected 成员
-
void handle(String key, String cacheKey, Throwable error)处理后台刷新异常。
LogicalExpireCacheTemplate
com.undernine.utils.redis.cache.LogicalExpireCacheTemplate
逻辑过期缓存访问模板。
under-utils-redis/src/main/java/com/undernine/utils/redis/cache/LogicalExpireCacheTemplate.java
13 个 public/protected 成员
-
public LogicalExpireCacheTemplate(RedissonClient redissonClient) -
public LogicalExpireCacheTemplate(RedissonClient redissonClient, CacheValueCodec valueCodec) -
public LogicalExpireCacheTemplate(RedissonClient redissonClient, CacheValueCodec valueCodec, LogicalExpireCacheOptions defaultOptions) -
public LogicalExpireCacheTemplate(RedissonClient redissonClient, CacheValueCodec valueCodec, LogicalExpireCacheOptions defaultOptions, CacheOperationObserver operationObserver) -
public <T> LogicalCacheQuery<T> cache(String key, Class<T> valueType)创建逻辑过期缓存链式调用。 -
public <T, E extends Throwable> T get(String key, Class<T> valueType, CacheLoadFunction<T, E> loader) throws E -
public <T, E extends Throwable> T get(String key, Class<T> valueType, LogicalExpireCacheOptions options, CacheLoadFunction<T, E> loader) throws E -
public CacheMetrics getMetrics()返回当前缓存指标快照。 -
public <T, E extends Throwable> T getOrLoad(String key, Class<T> valueType, CacheLoadFunction<T, E> loader) throws E -
public <T, E extends Throwable> T getOrLoad(String key, Class<T> valueType, LogicalExpireCacheOptions options, CacheLoadFunction<T, E> loader) throws E -
public <T> LogicalCacheQuery<T> key(String key, Class<T> valueType)创建逻辑过期缓存链式调用,等价于 #cache(String, Class) 。 -
public void resetMetrics()重置内置指标计数。 -
public final class LogicalCacheQuery逻辑过期缓存链式调用对象。
MicrometerCacheOperationObserver
com.undernine.utils.redis.cache.MicrometerCacheOperationObserver
将缓存操作事件桥接到 Micrometer 的 observer。
under-utils-redis/src/main/java/com/undernine/utils/redis/cache/MicrometerCacheOperationObserver.java
16 个 public/protected 成员
-
public MicrometerCacheOperationObserver(MeterRegistry meterRegistry) -
public MicrometerCacheOperationObserver(MeterRegistry meterRegistry, ObservationRegistry observationRegistry) -
public MicrometerCacheOperationObserver(MeterRegistry meterRegistry, ObservationRegistry observationRegistry, String counterName, String timerName, String observationName) -
public static final String DEFAULT_COUNTER_NAME -
public static final String DEFAULT_OBSERVATION_NAME -
public static final String DEFAULT_TIMER_NAME -
public void onHit(CacheOperationEvent event) -
public void onLoadFailure(CacheOperationEvent event) -
public void onLoadSuccess(CacheOperationEvent event) -
public void onLockAcquired(CacheOperationEvent event) -
public void onLockRejected(CacheOperationEvent event) -
public void onMiss(CacheOperationEvent event) -
public void onRefreshFailure(CacheOperationEvent event) -
public void onRefreshSubmitted(CacheOperationEvent event) -
public void onRefreshSuccess(CacheOperationEvent event) -
public void onWrite(CacheOperationEvent event)
DistributedLockException
com.undernine.utils.redis.lock.DistributedLockException
分布式锁异常。
under-utils-redis/src/main/java/com/undernine/utils/redis/lock/DistributedLockException.java
2 个 public/protected 成员
-
public DistributedLockException(String message) -
public DistributedLockException(String message, Throwable cause)
DistributedLockTemplate
com.undernine.utils.redis.lock.DistributedLockTemplate
Redisson 分布式锁模板。
under-utils-redis/src/main/java/com/undernine/utils/redis/lock/DistributedLockTemplate.java
4 个 public/protected 成员
-
public DistributedLockTemplate(RedissonClient redissonClient) -
public DistributedLockTemplate(RedissonClient redissonClient, String keyPrefix) -
public <T> T execute(String key, long waitTime, long leaseTime, TimeUnit unit, Supplier<T> supplier)获取锁并执行任务。 -
public void execute(String key, long waitTime, long leaseTime, TimeUnit unit, Runnable runnable)获取锁并执行无返回值任务。
RedisRateLimitStore
com.undernine.utils.redis.ratelimit.RedisRateLimitStore
基于 Redisson 的分布式限流存储。
under-utils-redis/src/main/java/com/undernine/utils/redis/ratelimit/RedisRateLimitStore.java
3 个 public/protected 成员
-
public RedisRateLimitStore(RedissonClient redissonClient) -
public RedisRateLimitStore(RedissonClient redissonClient, String keyPrefix) -
public boolean tryAcquire(String key, int limit, Duration window)
RedisRepeatSubmitStore
com.undernine.utils.redis.repeat.RedisRepeatSubmitStore
基于 Redisson 的分布式防重复提交存储。
under-utils-redis/src/main/java/com/undernine/utils/redis/repeat/RedisRepeatSubmitStore.java
4 个 public/protected 成员
-
public RedisRepeatSubmitStore(RedissonClient redissonClient) -
public RedisRepeatSubmitStore(RedissonClient redissonClient, String keyPrefix) -
public boolean acquire(String key, Duration ttl) -
public void release(String key)
UnderUtilsRedisAutoConfiguration
com.undernine.utils.starter.autoconfigure.UnderUtilsRedisAutoConfiguration
Under-Utils Redis 自动配置入口。
under-utils-redis-starter/src/main/java/com/undernine/utils/starter/autoconfigure/UnderUtilsRedisAutoConfiguration.java
9 个 public/protected 成员
-
public CacheAsideTemplate cacheAsideTemplate(RedissonClient redissonClient, CacheValueCodec cacheValueCodec, CacheOptions cacheOptions, ObjectProvider<CacheOperationObserver> operationObserver) -
public CacheOptions cacheOptions(UnderUtilsProperties properties) -
public CacheValueCodec cacheValueCodec() -
public DistributedLockTemplate distributedLockTemplate(RedissonClient redissonClient, UnderUtilsProperties properties) -
public LogicalExpireCacheOptions logicalExpireCacheOptions(UnderUtilsProperties properties, Executor refreshExecutor, ObjectProvider<LogicalExpireCacheRefreshFailureHandler> refreshFailureHandler) -
public LogicalExpireCacheTemplate logicalExpireCacheTemplate(RedissonClient redissonClient, CacheValueCodec cacheValueCodec, LogicalExpireCacheOptions logicalExpireCacheOptions, ObjectProvider<CacheOperationObserver> operationObserver) -
public RateLimitStore redisRateLimitStore(RedissonClient redissonClient) -
public RepeatSubmitStore redisRepeatSubmitStore(RedissonClient redissonClient) -
public ThreadPoolTaskExecutor underUtilsLogicalCacheRefreshExecutor(UnderUtilsProperties properties)
OperationLog
com.undernine.utils.spring.annotation.OperationLog
操作日志注解。
under-utils-spring/src/main/java/com/undernine/utils/spring/annotation/OperationLog.java
5 个 public/protected 成员
-
String content()操作内容描述 -
String module()业务模块 -
boolean recordParams()是否记录请求参数 -
boolean recordResult()是否记录返回结果 -
OperationType type()操作类型
PreventRepeat
com.undernine.utils.spring.annotation.PreventRepeat
防重复提交注解。
under-utils-spring/src/main/java/com/undernine/utils/spring/annotation/PreventRepeat.java
6 个 public/protected 成员
-
String key()防重复提交 key 表达式。 -
String message()判定为重复提交时抛出的业务异常消息。 -
String namespace()防重复提交命名空间。 -
boolean releaseOnFailure()业务方法执行失败时是否释放 key。 -
TimeUnit timeUnit()时间单位 -
long timeout()防重复提交判定窗口。
RateLimit
com.undernine.utils.spring.annotation.RateLimit
接口限流注解。
under-utils-spring/src/main/java/com/undernine/utils/spring/annotation/RateLimit.java
5 个 public/protected 成员
-
String key()限流 key 表达式。 -
int limit()时间窗口内允许通过的次数。 -
String message()超过限流额度时抛出的业务异常消息。 -
String namespace()限流命名空间。 -
int period()时间窗口,单位秒。
Retry
com.undernine.utils.spring.annotation.Retry
重试机制注解。
under-utils-spring/src/main/java/com/undernine/utils/spring/annotation/Retry.java
3 个 public/protected 成员
-
long delay()重试延迟(毫秒) -
Class<? extends Throwable>[] exceptions()需要重试的异常类型 -
int maxAttempts()最大重试次数
Sensitive
com.undernine.utils.spring.annotation.Sensitive
敏感信息脱敏注解
under-utils-spring/src/main/java/com/undernine/utils/spring/annotation/Sensitive.java
2 个 public/protected 成员
-
String customRule()自定义脱敏规则(当type为CUSTOM时有效) -
SensitiveType type()脱敏类型
TimeLog
com.undernine.utils.spring.aop.TimeLog
方法执行时间统计注解。
under-utils-spring/src/main/java/com/undernine/utils/spring/aop/TimeLog.java
2 个 public/protected 成员
-
long slowThreshold()慢方法阈值(单位:毫秒) -
String value()操作描述
TimeLogAspect
com.undernine.utils.spring.aop.TimeLogAspect
方法执行时间统计切面
under-utils-spring/src/main/java/com/undernine/utils/spring/aop/TimeLogAspect.java
1 个 public/protected 成员
-
public Object around(ProceedingJoinPoint joinPoint, TimeLog timeLog) throws Throwable环绕通知:统计方法执行时间
OperationLogAspect
com.undernine.utils.spring.aspect.OperationLogAspect
操作日志切面。
under-utils-spring/src/main/java/com/undernine/utils/spring/aspect/OperationLogAspect.java
1 个 public/protected 成员
-
public Object around(ProceedingJoinPoint point, OperationLog operationLog) throws Throwable
PreventRepeatAspect
com.undernine.utils.spring.aspect.PreventRepeatAspect
防重复提交切面。
under-utils-spring/src/main/java/com/undernine/utils/spring/aspect/PreventRepeatAspect.java
4 个 public/protected 成员
-
public Object around(ProceedingJoinPoint point, PreventRepeat preventRepeat) throws Throwable -
public synchronized void close() -
public void setOperationKeyResolver(OperationKeyResolver operationKeyResolver) -
public synchronized void setRepeatSubmitStore(RepeatSubmitStore repeatSubmitStore)
RateLimitAspect
com.undernine.utils.spring.aspect.RateLimitAspect
接口限流切面。
under-utils-spring/src/main/java/com/undernine/utils/spring/aspect/RateLimitAspect.java
4 个 public/protected 成员
-
public Object around(ProceedingJoinPoint point, RateLimit rateLimit) throws Throwable -
public synchronized void close() -
public void setOperationKeyResolver(OperationKeyResolver operationKeyResolver) -
public synchronized void setRateLimitStore(RateLimitStore rateLimitStore)
RetryAspect
com.undernine.utils.spring.aspect.RetryAspect
重试机制切面。
under-utils-spring/src/main/java/com/undernine/utils/spring/aspect/RetryAspect.java
1 个 public/protected 成员
-
public Object around(ProceedingJoinPoint point, Retry retry) throws Throwable
CurrentTenantProvider
com.undernine.utils.spring.context.CurrentTenantProvider
当前租户提供器。
under-utils-spring/src/main/java/com/undernine/utils/spring/context/CurrentTenantProvider.java
1 个 public/protected 成员
-
String getCurrentTenantId()获取当前租户标识。
CurrentUserProvider
com.undernine.utils.spring.context.CurrentUserProvider
当前用户提供器。
under-utils-spring/src/main/java/com/undernine/utils/spring/context/CurrentUserProvider.java
1 个 public/protected 成员
-
String getCurrentUserId()获取当前用户标识。
DefaultCurrentTenantProvider
com.undernine.utils.spring.context.DefaultCurrentTenantProvider
默认当前租户提供器。
under-utils-spring/src/main/java/com/undernine/utils/spring/context/DefaultCurrentTenantProvider.java
1 个 public/protected 成员
-
public String getCurrentTenantId()
DefaultCurrentUserProvider
com.undernine.utils.spring.context.DefaultCurrentUserProvider
默认当前用户提供器。
under-utils-spring/src/main/java/com/undernine/utils/spring/context/DefaultCurrentUserProvider.java
1 个 public/protected 成员
-
public String getCurrentUserId()
DefaultTraceIdProvider
com.undernine.utils.spring.context.DefaultTraceIdProvider
默认链路 ID 提供器。
under-utils-spring/src/main/java/com/undernine/utils/spring/context/DefaultTraceIdProvider.java
1 个 public/protected 成员
-
public String getTraceId()
OperationContext
com.undernine.utils.spring.context.OperationContext
当前操作上下文。
under-utils-spring/src/main/java/com/undernine/utils/spring/context/OperationContext.java
16 个 public/protected 成员
-
public static Builder builder()创建上下文构建器。 -
public static Builder from(OperationContext context)基于已有上下文创建构建器。 -
public <T> T getAttribute(String name, Class<T> type) -
public Object getAttribute(String name) -
public Map<String, Object> getAttributes() -
public String getClientIp() -
public String getOperationName() -
public String getRequestMethod() -
public String getRequestUri() -
public String getTenantId() -
public String getTraceId() -
public String getUserId() -
public Builder toBuilder()复制当前上下文到构建器。 -
public OperationContext withAttribute(String name, Object value)追加或覆盖单个扩展属性。 -
public OperationContext withOperationName(String operationName)覆盖当前操作名称。 -
public static final class BuilderOperationContext 构建器。
OperationContextCustomizer
com.undernine.utils.spring.context.OperationContextCustomizer
操作上下文自定义扩展点。
under-utils-spring/src/main/java/com/undernine/utils/spring/context/OperationContextCustomizer.java
1 个 public/protected 成员
-
void customize(OperationContext.Builder builder, HttpServletRequest request)自定义操作上下文。
OperationContextExecutors
com.undernine.utils.spring.context.OperationContextExecutors
支持 OperationContext 传播的执行器包装工具。
under-utils-spring/src/main/java/com/undernine/utils/spring/context/OperationContextExecutors.java
2 个 public/protected 成员
-
public static Executor wrap(Executor executor)包装普通 Executor,使每次 execute 时捕获当前线程上下文。 -
public static ExecutorService wrap(ExecutorService executorService)包装 ExecutorService,使提交的任务自动传播当前线程上下文。
OperationContextFilter
com.undernine.utils.spring.context.OperationContextFilter
HTTP 请求操作上下文过滤器。
under-utils-spring/src/main/java/com/undernine/utils/spring/context/OperationContextFilter.java
14 个 public/protected 成员
-
public OperationContextFilter() -
public OperationContextFilter(Collection<OperationContextCustomizer> customizers) -
public static final String TENANT_ID_HEADER -
public static final String TRACE_ID_HEADER -
public static final String TRACE_ID_MDC_KEY -
public static final String USER_ID_HEADER -
protected OperationContext buildContext(HttpServletRequest request) -
public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException -
protected String generateTraceId() -
protected String resolveClientIp(HttpServletRequest request) -
protected String resolveTenantId(HttpServletRequest request) -
protected String resolveTraceId(HttpServletRequest request) -
protected String resolveUserId(HttpServletRequest request) -
public void setCustomizers(Collection<OperationContextCustomizer> customizers)
OperationContextHolder
com.undernine.utils.spring.context.OperationContextHolder
当前线程操作上下文持有器。
under-utils-spring/src/main/java/com/undernine/utils/spring/context/OperationContextHolder.java
6 个 public/protected 成员
-
public static void clear()清理当前线程上下文。 -
public static OperationContext current()获取当前线程上下文。 -
public static OperationContext getContext()获取当前线程上下文。 -
public static Scope scope(OperationContext context)创建上下文作用域。 -
public static void setContext(OperationContext context)设置当前线程上下文。 -
public static final class Scope当前上下文作用域。
OperationContextSnapshot
com.undernine.utils.spring.context.OperationContextSnapshot
OperationContext 快照。
under-utils-spring/src/main/java/com/undernine/utils/spring/context/OperationContextSnapshot.java
9 个 public/protected 成员
-
public static OperationContextSnapshot capture()捕获当前线程上下文。 -
public static OperationContextSnapshot empty()创建空上下文快照。 -
public OperationContext getContext()获取快照内的上下文。 -
public boolean hasContext()判断快照是否包含上下文。 -
public static OperationContextSnapshot of(OperationContext context)基于指定上下文创建快照。 -
public OperationContextHolder.Scope openScope()打开快照上下文作用域。 -
public <T> Callable<T> wrap(Callable<T> task)包装 Callable 任务。 -
public Runnable wrap(Runnable task)包装 Runnable 任务。 -
public <T> Supplier<T> wrapSupplier(Supplier<T> supplier)包装 Supplier 任务。
OperationContextTaskDecorator
com.undernine.utils.spring.context.OperationContextTaskDecorator
传播 OperationContext 的 Spring TaskDecorator 。
under-utils-spring/src/main/java/com/undernine/utils/spring/context/OperationContextTaskDecorator.java
1 个 public/protected 成员
-
public Runnable decorate(Runnable runnable)
SpringContextHolder
com.undernine.utils.spring.context.SpringContextHolder
Spring 上下文持有者
under-utils-spring/src/main/java/com/undernine/utils/spring/context/SpringContextHolder.java
13 个 public/protected 成员
-
public static boolean containsBean(String name)判断是否包含指定名称的 Bean -
public static String[] getActiveProfiles()获取激活的 Profile -
public static ApplicationContext getApplicationContext()获取 Spring 应用上下文 -
public static <T> T getBean(Class<T> clazz)根据类型获取 Bean -
public static <T> T getBean(String name, Class<T> clazz)根据名称和类型获取 Bean -
public static Object getBean(String name)根据名称获取 Bean -
public static <T> T getProperty(String key, Class<T> targetType)获取配置属性(指定类型) -
public static <T> T getProperty(String key, Class<T> targetType, T defaultValue)获取配置属性(指定类型,带默认值) -
public static String getProperty(String key)获取配置属性 -
public static String getProperty(String key, String defaultValue)获取配置属性(带默认值) -
public static Class<?> getType(String name)获取指定名称的 Bean 类型 -
public static boolean isSingleton(String name)判断指定名称的 Bean 是否为单例 -
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException设置 Spring 应用上下文
TraceIdProvider
com.undernine.utils.spring.context.TraceIdProvider
链路追踪 ID 提供器。
under-utils-spring/src/main/java/com/undernine/utils/spring/context/TraceIdProvider.java
1 个 public/protected 成员
-
String getTraceId()获取当前链路 ID。
OperationType
com.undernine.utils.spring.enums.OperationType
操作类型枚举
under-utils-spring/src/main/java/com/undernine/utils/spring/enums/OperationType.java
10 个 public/protected 成员
-
public static final OperationType CREATE新增 -
public static final OperationType DELETE删除 -
public static final OperationType EXPORT导出 -
public static final OperationType IMPORT导入 -
public static final OperationType LOGIN登录 -
public static final OperationType LOGOUT登出 -
public static final OperationType OTHER其他 -
public static final OperationType QUERY查询 -
public static final OperationType UPDATE修改 -
public String getDescription()
SensitiveType
com.undernine.utils.spring.enums.SensitiveType
敏感信息类型枚举
under-utils-spring/src/main/java/com/undernine/utils/spring/enums/SensitiveType.java
10 个 public/protected 成员
-
public static final SensitiveType ADDRESS地址:北京市海淀区****** -
public static final SensitiveType BANK_CARD银行卡号:6222 **** **** 1234 -
public static final SensitiveType CAR_LICENSE车牌号:京A·****1 -
public static final SensitiveType CHINESE_NAME姓名:张* -
public static final SensitiveType CUSTOM自定义规则 -
public static final SensitiveType EMAIL邮箱:a***@example.com -
public static final SensitiveType FIXED_PHONE固定电话:010-****5678 -
public static final SensitiveType ID_CARD身份证号:320***********1234 -
public static final SensitiveType MOBILE_PHONE手机号:138****5678 -
public static final SensitiveType PASSWORD密码:*** (完全隐藏)
BizException
com.undernine.utils.spring.exception.BizException
业务异常类
under-utils-spring/src/main/java/com/undernine/utils/spring/exception/BizException.java
7 个 public/protected 成员
-
public BizException(Integer code, String message)构造方法(自定义状态码和消息) -
public BizException(Integer code, String message, Throwable cause)构造方法(带原因异常和状态码) -
public BizException(ResultCode resultCode)构造方法(使用状态码枚举) -
public BizException(ResultCode resultCode, String message)构造方法(使用状态码枚举,覆盖消息) -
public BizException(String message)构造方法(使用默认业务错误码) -
public BizException(String message, Throwable cause)构造方法(带原因异常) -
public String getMessage()
GlobalExceptionHandler
com.undernine.utils.spring.exception.GlobalExceptionHandler
全局异常处理器
under-utils-spring/src/main/java/com/undernine/utils/spring/exception/GlobalExceptionHandler.java
8 个 public/protected 成员
-
public Result<?> handleBindException(BindException e)处理参数绑定异常 -
public Result<?> handleBizException(BizException e)处理业务异常 -
public Result<?> handleException(Exception e)处理其他未捕获的异常 -
public Result<?> handleIllegalArgumentException(IllegalArgumentException e)处理非法参数异常 -
public Result<?> handleMethodNotSupportedException(HttpRequestMethodNotSupportedException e)处理请求方法不支持异常 -
public Result<?> handleNotFoundException(NoHandlerFoundException e)处理 404 异常 -
public Result<?> handleNullPointerException(NullPointerException e)处理空指针异常 -
public Result<?> handleValidException(MethodArgumentNotValidException e)处理参数校验异常(@Valid)
RequestLogInterceptor
com.undernine.utils.spring.interceptor.RequestLogInterceptor
HTTP请求日志拦截器
under-utils-spring/src/main/java/com/undernine/utils/spring/interceptor/RequestLogInterceptor.java
2 个 public/protected 成员
-
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) -
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
DefaultOperationKeyResolver
com.undernine.utils.spring.key.DefaultOperationKeyResolver
默认操作 key 解析器。
under-utils-spring/src/main/java/com/undernine/utils/spring/key/DefaultOperationKeyResolver.java
4 个 public/protected 成员
-
public DefaultOperationKeyResolver() -
public DefaultOperationKeyResolver(CurrentUserProvider currentUserProvider, CurrentTenantProvider currentTenantProvider) -
public DefaultOperationKeyResolver(CurrentUserProvider currentUserProvider, CurrentTenantProvider currentTenantProvider, TraceIdProvider traceIdProvider) -
public String resolve(ProceedingJoinPoint point, String namespace, String expression)
OperationKeyResolver
com.undernine.utils.spring.key.OperationKeyResolver
横切能力 key 解析器。
under-utils-spring/src/main/java/com/undernine/utils/spring/key/OperationKeyResolver.java
1 个 public/protected 成员
-
String resolve(ProceedingJoinPoint point, String namespace, String expression)解析操作 key。
LocalRateLimitStore
com.undernine.utils.spring.ratelimit.LocalRateLimitStore
JVM 本地限流存储。
under-utils-spring/src/main/java/com/undernine/utils/spring/ratelimit/LocalRateLimitStore.java
6 个 public/protected 成员
-
public LocalRateLimitStore() -
public LocalRateLimitStore(int maxCounters) -
public LocalRateLimitStore(int maxCounters, Duration cleanupInterval) -
public void clear()清空本地状态,主要用于测试或主动重置。 -
public void close() -
public boolean tryAcquire(String key, int limit, Duration window)
RateLimitStore
com.undernine.utils.spring.ratelimit.RateLimitStore
限流存储接口。
under-utils-spring/src/main/java/com/undernine/utils/spring/ratelimit/RateLimitStore.java
1 个 public/protected 成员
-
boolean tryAcquire(String key, int limit, Duration window)尝试获取一次访问额度。
LocalRepeatSubmitStore
com.undernine.utils.spring.repeat.LocalRepeatSubmitStore
JVM 本地防重复提交存储。
under-utils-spring/src/main/java/com/undernine/utils/spring/repeat/LocalRepeatSubmitStore.java
7 个 public/protected 成员
-
public LocalRepeatSubmitStore() -
public LocalRepeatSubmitStore(int maxEntries) -
public LocalRepeatSubmitStore(int maxEntries, Duration cleanupInterval) -
public boolean acquire(String key, Duration ttl) -
public void clear()清空本地状态,主要用于测试或主动重置。 -
public void close() -
public void release(String key)
RepeatSubmitStore
com.undernine.utils.spring.repeat.RepeatSubmitStore
防重复提交存储接口。
under-utils-spring/src/main/java/com/undernine/utils/spring/repeat/RepeatSubmitStore.java
2 个 public/protected 成员
-
boolean acquire(String key, Duration ttl)尝试登记一次提交。 -
default void release(String key)释放登记。
Result
com.undernine.utils.spring.result.Result
统一响应结果封装
under-utils-spring/src/main/java/com/undernine/utils/spring/result/Result.java
9 个 public/protected 成员
-
public static <T> Result<T> fail()失败响应(默认消息) -
public static <T> Result<T> fail(Integer code, String message)失败响应(自定义状态码和消息) -
public static <T> Result<T> fail(ResultCode resultCode)失败响应(使用 ResultCode 枚举) -
public static <T> Result<T> fail(String message)失败响应(自定义消息) -
public boolean isFail()判断是否失败 -
public boolean isSuccess()判断是否成功 -
public static <T> Result<T> success()成功响应(无数据) -
public static <T> Result<T> success(T data)成功响应(有数据) -
public static <T> Result<T> success(T data, String message)成功响应(有数据和自定义消息)
ResultCode
com.undernine.utils.spring.result.ResultCode
响应状态码枚举
under-utils-spring/src/main/java/com/undernine/utils/spring/result/ResultCode.java
20 个 public/protected 成员
-
public static final ResultCode BUSINESS_ERROR业务异常 -
public static final ResultCode CREATED已创建 -
public static final ResultCode DATA_ALREADY_EXISTS数据已存在 -
public static final ResultCode DATA_NOT_FOUND数据不存在 -
public static final ResultCode DATA_STATUS_ERROR数据状态异常 -
public static final ResultCode FAIL通用失败 -
public static final ResultCode FORBIDDEN无权限 -
public static final ResultCode INTERNAL_SERVER_ERROR服务器内部错误 -
public static final ResultCode METHOD_NOT_ALLOWED请求方法不支持 -
public static final ResultCode NOT_FOUND资源不存在 -
public static final ResultCode OPERATION_TOO_FREQUENT操作频繁 -
public static final ResultCode PARAM_ERROR参数错误 -
public static final ResultCode REQUEST_TIMEOUT请求超时 -
public static final ResultCode SERVICE_UNAVAILABLE服务暂不可用 -
public static final ResultCode SUCCESS成功 -
public static final ResultCode TOO_MANY_REQUESTS请求过于频繁 -
public static final ResultCode UNAUTHORIZED未授权 -
public static final ResultCode VALIDATION_ERROR参数校验失败 -
public Integer getCode()获取状态码 -
public String getMessage()获取消息
SensitiveJsonSerializer
com.undernine.utils.spring.serializer.SensitiveJsonSerializer
敏感信息JSON序列化器
under-utils-spring/src/main/java/com/undernine/utils/spring/serializer/SensitiveJsonSerializer.java
4 个 public/protected 成员
-
public SensitiveJsonSerializer() -
public SensitiveJsonSerializer(SensitiveType type, String customRule) -
public JsonSerializer<?> createContextual(SerializerProvider prov, BeanProperty property) throws JsonMappingException -
public void serialize(String value, JsonGenerator gen, SerializerProvider serializers) throws IOException
DesensitizeUtils
com.undernine.utils.spring.util.DesensitizeUtils
敏感信息脱敏工具类
under-utils-spring/src/main/java/com/undernine/utils/spring/util/DesensitizeUtils.java
11 个 public/protected 成员
-
public static String address(String address)地址脱敏:北京市海淀区****** -
public static String bankCard(String cardNo)银行卡号脱敏:6222 **** **** 1234 -
public static String carLicense(String license)车牌号脱敏:京A·****1 -
public static String chineseName(String name)中文姓名脱敏:张*、欧阳** -
public static String desensitize(String value, SensitiveType type)根据类型脱敏 -
public static String desensitizeCustom(String value, String customRule)自定义规则脱敏 -
public static String email(String email)邮箱脱敏:a***@example.com -
public static String fixedPhone(String phone)固定电话脱敏:010-****5678 -
public static String idCard(String idCard)身份证号脱敏:320***********1234 -
public static String mobilePhone(String phone)手机号脱敏:138****5678 -
public static String password(String password)密码完全脱敏:***
UnderUtilsSpringAutoConfiguration
com.undernine.utils.starter.autoconfigure.UnderUtilsSpringAutoConfiguration
Under-Utils Spring 自动配置入口。
under-utils-spring-starter/src/main/java/com/undernine/utils/starter/autoconfigure/UnderUtilsSpringAutoConfiguration.java
9 个 public/protected 成员
-
public CurrentTenantProvider currentTenantProvider() -
public CurrentUserProvider currentUserProvider() -
public OperationContextFilter operationContextFilter(Collection<OperationContextCustomizer> customizers) -
public OperationContextTaskDecorator operationContextTaskDecorator() -
public OperationKeyResolver operationKeyResolver(CurrentUserProvider currentUserProvider, CurrentTenantProvider currentTenantProvider) -
public PreventRepeatAspect preventRepeatAspect(RepeatSubmitStore repeatSubmitStore, OperationKeyResolver operationKeyResolver) -
public RateLimitAspect rateLimitAspect(RateLimitStore rateLimitStore, OperationKeyResolver operationKeyResolver) -
public TraceIdProvider traceIdProvider() -
public FilterRegistrationBean<OperationContextFilter> underUtilsOperationContextFilterRegistration(OperationContextFilter operationContextFilter, UnderUtilsProperties properties)
UnderUtilsProperties
com.undernine.utils.starter.properties.UnderUtilsProperties
Under-Utils 自动配置属性。
under-utils-spring-starter/src/main/java/com/undernine/utils/starter/properties/UnderUtilsProperties.java
11 个 public/protected 成员
-
public Redis getRedis() -
public Web getWeb() -
public void setRedis(Redis redis) -
public void setWeb(Web web) -
public static class CacheRedis cache-aside 缓存治理配置。 -
public static class LogicalCacheRedis 逻辑过期缓存配置。 -
public static class OperationContext请求操作上下文配置。 -
public static class RedisRedis 能力配置。 -
public static class StoreCapability可切换存储的能力配置。 -
public enum StoreType状态存储类型。 -
public static class WebWeb 横切能力配置。
UnderUtilsAutoConfiguration
com.undernine.utils.starter.autoconfigure.UnderUtilsAutoConfiguration
兼容旧 starter 坐标的自动配置入口占位类。
under-utils-starter/src/main/java/com/undernine/utils/starter/autoconfigure/UnderUtilsAutoConfiguration.java