Spring Configuration & Properties
EasyApi provides extensions for Spring configuration and properties support.
Spring ConfigurationProperties
The spring-configuration extension (enabled by default) supports @ConfigurationProperties annotation:
# Resolve @ConfigurationProperties prefix
properties.prefix=@org.springframework.boot.context.properties.ConfigurationProperties
properties.prefix=@org.springframework.boot.context.properties.ConfigurationProperties#prefixWhen a class is annotated with @ConfigurationProperties(prefix = "app.security"), EasyApi uses the prefix to resolve property placeholders:
@ConfigurationProperties(prefix = "app.security")
public class SecurityProperties {
private String tokenHeader; // resolves app.security.tokenHeader
private long tokenExpiration; // resolves app.security.tokenExpiration
// getters and setters
}Spring Properties
The spring-properties extension (disabled by default) can import and resolve Spring application properties:
# Import spring properties
properties.additional=${module_path}/src/main/resources/application.properties
properties.additional=${module_path}/src/main/resources/application.yml
properties.additional=${module_path}/src/main/resources/application.yaml
# Resolve spring properties
###set ignoreUnresolved = true
class.prefix.path=${server.servlet.context-path}
###set ignoreUnresolved = falseWhen enabled, the server.servlet.context-path from your application.yml will be automatically used as the class prefix path.
WARNING
Spring Properties support is disabled by default because it loads all Spring properties which may include sensitive values. Enable it in IDE settings if needed.
Spring Validations
The spring-validations extension (enabled by default) supports Spring validation annotations:
field.required=@org.springframework.lang.NonNull
param.ignore=groovy:it.type().isExtend("org.springframework.validation.BindingResult")This extension is enabled by default when org.springframework.lang.NonNull is on the classpath.