Spring / Spring Boot
What is relaxed binding in Spring boot?
Relaxed binding maps the Environment property to the bean property name even it is not an exact match. For example, dash-separated environment properties (app-name bound to appName) or capitalized properties as in PORT (bound to port).
Spring boot supports relaxed binding.
@Component @ConfigurationProperties(prefix = "host") public class ApplicationProperties { private String Name; private String PORT; private String app_name; @Override public String toString() { return "ApplicationProperties{" + "Name='" + Name + '\'' + ", PORT='" + PORT + '\'' + ", app_name='" + app_name + '\'' + '}'; } ... }
application.properties.
host.name=javapedia.net host.port=80 host.appName=JAVAPEDIA
In the above example, although the "host" bean property and configuration property name mismatch(appName vs app_name), the value is bound. For the complete example, take a look here.
More Related questions...