Simplest way is to define your business
object with a public constructor which takes a single parameter of type
java.lang.String.
public class Employee { private String id; private String name; public Employee(String id) { this.id = id; } public String getId() { return id; } public void setId(String id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { StringBuilder builder = new StringBuilder(); builder.append("Employee [id=").append(id).append(", name=") .append(name).append("]"); return builder.toString(); } }
import org.aeonbits.owner.Config; public interface ProjectConfig extends Config { @Key("first_name") @DefaultValue("Krishna") String firstName(); @DefaultValue("5.4") float height(); Employee employee(); }
import org.aeonbits.owner.ConfigFactory; import java.util.*; public class PropertyUtil { public static void main(String args[]) throws Exception { Map<String, String> properties1 = new HashMap<>(); properties1.put("height", "5.8"); properties1.put("employee", "E432156"); ProjectConfig cfg = ConfigFactory.create(ProjectConfig.class, properties1); System.out.println(cfg.firstName()); System.out.println(cfg.height()); System.out.println(cfg.employee()); } }
Output
Krishna 5.8 Employee [id=E432156, name=null]
No comments:
Post a Comment