我想知道如何在Spring Framework中的抽象类中初始化变量。我无法更改已存在的构造函数。我已提到http://forum.spring.io/forum/spring-projects/container/47496-dependency-inject-abstract-class-property但该属性的值为null
。
我在我的xml文件中使用了abtract=true
。
我的抽象类:
package com.hi;
public abstract class Xyz implements Serializable{
private String path;
public String getPath(){return path;}
public void setPath(String path){this.path = path;}
private void init(){
//path will be used to get the file from the location
}
public Serializable getExpr(){
init();
}
}
我的继承类:
public class Abc extends Xyz implements Serializable{
private Abc(String a){
super(a,TYPE.data);
}
public static Abc of(){
return new Abc(a);
}
}
我的xml文件:
<bean id="xyz"
class="com.hi.Xyz"
abstract="true">
<property name="path" value="${PATH}" />
</bean>
继承的类不必获取文件。因此抽象类可以直接注入路径并使用路径。