Problem Description
When using @ConfigurationProperties annotation, static variables cannot be injected directly.
Solution
private static String copyrightYear;
public static String getCopyrightYear() {
return copyrightYear;
}
// set method cannot have static keyword
public void setCopyrightYear(String copyrightYear) {
HaiAnConfig.copyrightYear = copyrightYear;
}
/*
// This won't work for injection
public static void setCopyrightYear(String copyrightYear) {
HaiAnConfig.copyrightYear = copyrightYear;
}
*/
Key Point
The set method cannot have the static keyword, otherwise @ConfigurationProperties cannot inject values correctly.
