import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.dataformat.yaml.YAMLFactory;
import java.io.File;
import java.io.IOException;
public class AppConfig {
@JsonProperty("database")
private DatabaseConfig databaseConfig;
public DatabaseConfig getDatabaseConfig() {
return databaseConfig;
}
public static AppConfig loadConfig(String filePath) throws IOException {
File configFile = new File(filePath);
ObjectMapper objectMapper = new ObjectMapper(new YAMLFactory());
return objectMapper.readValue(configFile, AppConfig.class);
}
public static void main(String[] args) throws IOException {
AppConfig config = AppConfig.loadConfig("config.yaml");
DatabaseConfig dbConfig = config.getDatabaseConfig();
}
}
yaml
database:
url: jdbc:mysql://localhost:3306/mydatabase
username: myuser
password: mypassword