Spring和Abstract类 - 在抽象类中注入属性

Khu*_*try 16 java spring

我有一个抽象的基类,其中包含一个名为"mailserver"的属性,我希望从spring ioc容器中注入该属性.但是,当我运行抽象类的混凝土实现时,我得到了mailserver属性的null.

这样做的正确方法是什么?你有没有试过这样做并取得成功?请分享.

关于khush.

Ken*_*han 12

使用该abstract属性将抽象基类定义标记为抽象,并在具体类定义中,使该parent属性成为抽象类的bean名称的名称

像这样的东西:

<bean id="abstractBaseClass" abstract="true" class="pacakge1.AbstractBaseClass">
  <property name="mailserver" value="DefaultMailServer"/>
</bean>

<bean id="concreteClass1" class="pacakge1.ConcreteClass1" parent="abstractBaseClass">     
  <!--Override the value of the abstract based class if necessary-->
  <property name="mailserver" value="AnotherMailServer"/>
</bean>
Run Code Online (Sandbox Code Playgroud)

  • 这里的抽象,AFAIK,并不是要将类标记为抽象,这应该与Spring无关,而是为配置中使用的其他bean定义模板 - 父bean定义. (6认同)