Injizieren einer Eigenschaft mit @Value in eine abstrakte Klasse

Ich habe eine abstrakte Klasse, in der ich versuche, die Annotation @Value zu verwenden, um einen Wert aus einer Eigenschaftendatei einzufügen

public abstract class Parent {
     @Value ("${shared.val}")
     private String sharedVal;

     public Parent() {
        //perform common action using sharedVal
     }

}

@Component
public class ChildA extends Parent {
     Param a1;
     @Autowired
     public ChildA (Param a1) {
        super();
        this.a1 = a1;
     }
}

Ich erhalte eine NullPointerException, da sharedVal nicht gesetzt ist. Ich habe versucht, der abstrakten Klasse ein @Component-Stereotyp hinzuzufügen, und immer noch dasselbe.

Kann ich auf diese Weise einen Wert in eine abstrakte Klasse einfügen? Wenn nicht, wie kann dies erreicht werden?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage