== Why is this an issue? Spring dependency injection framework does not support injecting data into static fields. When @Value, @Inject, or @Autowired are applied to static fields, they are ignored. === What is the potential impact? * *Null Values*: Uninitialized static fields annotated with @Value, @Inject, or @Autowired will not be initialized by Spring, potentially causing NullPointerException at runtime. * *Confusing Code*: The presence of injection annotations on static fields can mislead developers into believing that the fields will be populated by Spring. This rule raises an issue when a static field is annotated with @Value, @Inject, or @Autowired. == How to fix it Either use an instance field instead of a static field or remove the @Value, @Inject, or @Autowired annotation and initialize the field. === Code examples ==== Noncompliant code example [source,java,diff-id=1,diff-type=noncompliant] ---- @Component public class MyComponent { @Value("${my.app.prop}") private static SomeDependency dependency; // non compliant, @Value will be ignored and no value will be injected // ... } ---- ==== Compliant solution [source,java,diff-id=1,diff-type=compliant] ---- @Component public class MyComponent { @Value("${my.app.prop}") private final SomeDependency dependency; // ... } ---- == Resources === Articles & blog posts * Java Guides - https://www.baeldung.com/spring-inject-static-field[Injecting a Value in a Static Field in Spring]