<dependency>
<groupId>com.github.javadev</groupId>
<artifactId>js-yaml</artifactId>
<version>1.26</version>
</dependency>
database:
host: localhost
port: 3306
username: myuser
password: mypassword
import org.yaml.snakeyaml.Yaml;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
public class AppConfig {
private String host;
private int port;
private String username;
private String password;
public AppConfig(String configFile) {
try {
Yaml yaml = new Yaml();
FileInputStream inputStream = new FileInputStream(configFile);
AppConfig config = yaml.loadAs(inputStream, AppConfig.class);
this.host = config.host;
this.port = config.port;
this.username = config.username;
this.password = config.password;
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
// Getters and setters for configuration properties
public String getHost() {
return host;
}
public void setHost(String host) {
this.host = host;
}
public int getPort() {
return port;
}
public void setPort(int port) {
this.port = port;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public static void main(String[] args) {
String configFile = "path/to/config.yaml";
AppConfig config = new AppConfig(configFile);
System.out.println("Host: " + config.getHost());
System.out.println("Port: " + config.getPort());
System.out.println("Username: " + config.getUsername());
System.out.println("Password: " + config.getPassword());
}
}