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?