public class AppConfig { @NotNull @Positive private int maxConnections; @NotEmpty private String dbUrl; // Getters and setters } public static void main(String[] args) { Config config = Config.create(AppConfig.class); AppConfig appConfig = config.loadConfig(); int maxConnections = appConfig.getMaxConnections(); String dbUrl = appConfig.getDbUrl(); } public class PositiveValidator implements Validator<Integer> { @Override public void validate(Integer value) { if (value <= 0) { throw new ConfigException("Invalid value for maxConnections"); } } } public class UrlConverter implements Converter<String> { @Override public String convert(String value) { if (!value.startsWith("http://")) { throw new ConfigException("Invalid URL format"); } return value; } } public static void main(String[] args) { Config config = Config.create() .withValidator(AppConfig.class, "maxConnections", new PositiveValidator()) .withConverter(AppConfig.class, "dbUrl", new UrlConverter()) .load(AppConfig.class); // ... }


上一篇:
下一篇:
切换中文