Spring Invalid Configuration Properties

ID

java.spring_invalid_configuration_properties

Severity

low

Remediation Complexity

trivial

Remediation Risk

low

Remediation Effort

low

Resource

Reliability

Language

Java

Tags

best-practice, spring

Description

Reports @ConfigurationProperties annotations whose prefix (or value) attribute is empty, contains uppercase letters, or uses special characters other than dot and hyphen. Spring Boot relaxed binding requires prefixes to be lowercase and use only alphanumeric characters, dots, and hyphens.

Rationale

Reliability — An invalid prefix causes binding failures at startup or silently ignores property sources, leading to default values being used instead of the intended configuration.

Remediation

Non-compliant code

@ConfigurationProperties("myApp.Settings")
public class AppConfig {
    private String name;
}

Compliant code

@ConfigurationProperties("my-app.settings")
public class AppConfig {
    private String name;
}