0 day streak
java / beginner
Snippet

Mapping Structured Configuration Properties to Strongly Typed Objects

Spring Boot allows mapping hierarchical configuration keys from application.properties directly into type-safe Java objects or records using @ConfigurationProperties. This guarantees clean data typing and compile-time property safety.

snippet.java
java
1
2
3
4
5
6
@ConfigurationProperties(prefix = "app.mail")
public record MailProperties(
String host,
int port,
boolean enableTls
) {}
spring
Breakdown
1
@ConfigurationProperties(prefix = "app.mail")
Binds properties starting with the app.mail prefix to the fields of this record.
2
public record MailProperties(
Defines an immutable Java record container to hold configuration values.
3
String host, int port, boolean enableTls
Specifies strongly typed fields corresponding to app.mail.host, app.mail.port, and app.mail.enable-tls.