在Spring框架中初始化抽象属性

时间:2017-09-01 18:53:38

标签: java spring abstract-class spring-framework-beans

我想知道如何在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>

继承的类不必获取文件。因此抽象类可以直接注入路径并使用路径。

0 个答案:

没有答案