Package cloud.opencode.base.config.bind
package cloud.opencode.base.config.bind
Configuration Binding Package
配置绑定包
This package provides configuration binding capabilities for mapping configuration values to POJOs and Records.
此包提供配置绑定能力,用于将配置值映射到POJO和Record。
Features | 主要功能:
- POJO binding with reflection - 反射POJO绑定
- JDK 25 Record binding - JDK 25 Record绑定
- Nested configuration support - 嵌套配置支持
- Type-safe property mapping - 类型安全的属性映射
- Annotation-based configuration - 基于注解的配置
Annotations | 注解:
ConfigProperties- Mark class with configuration prefix - 标记类的配置前缀NestedConfig- Mark nested configuration field - 标记嵌套配置字段
POJO Binding Example | POJO绑定示例:
@ConfigProperties(prefix = "database")
public class DatabaseConfig {
private String url;
private String username;
private String password;
private int maxPoolSize = 10;
private Duration connectionTimeout = Duration.ofSeconds(30);
@NestedConfig
private PoolConfig pool;
// getters and setters...
}
DatabaseConfig config = OpenConfig.bind("database", DatabaseConfig.class);
Record Binding Example | Record绑定示例:
record DatabaseConfig(
@Required String url,
@Required String username,
@Required String password,
@DefaultValue("10") int maxPoolSize,
@DefaultValue("30s") Duration connectionTimeout,
PoolConfig pool
) {}
DatabaseConfig config = OpenConfig.bind("database", DatabaseConfig.class);
Property Name Conversion | 属性名转换:
Field: maxPoolSize → Config key: max-pool-size (kebab-case) Field: connectionTimeout → Config key: connection-timeout
- Since:
- JDK 25, opencode-base-config V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
ClassDescriptionConfiguration Binder 配置绑定器Configuration Properties Annotation 配置属性注解Nested Configuration Annotation 嵌套配置注解Record Configuration Binder for JDK 25 Records JDK 25 Record的配置绑定器