1、通过构造函数注入
<bean id="subClass1" class="com.proc.Config$ConfigClass">
<constructor-arg type="java.lang.Class" value="com.proc.SubClass1" />
</bean>
2、通过Setter注入
<bean id="subClass2" class="com.proc.Config$ConfigClass">
<property name="Clazz" value="com.proc.subClass2" />
</bean>
3、通过list注入
<bean id="config" class="com.proc.Config">
<property name="classList">
<list>
<value>com.proc.SubClass1</value>
<value>com.proc.SubClass2</value>
</list>
</property>
</bean>
Java后台代码:
package com.proc;
import java.util.List;
public class Config {
public List<Class<? extends BaseClass>> classList;
public List<Class<? extends BaseClass>> getClassList() {
return classList;
}
public void setClassList(List<Class<? extends BaseClass>> classList) {
this.classList = classList;
}
static class ConfigClass{
Class<? extends BaseClass> Clazz;
public ConfigClass() {
}
public ConfigClass(Class<? extends BaseClass> Clazz) {
this.Clazz=Clazz;
}
public void setClazz(Class<? extends BaseClass> Clazz) {
this.Clazz=Clazz;
}
public Class<? extends BaseClass> getClazz() {
return this.Clazz;
}
}
}
class BaseClass {
}
class SubClass1 extends BaseClass {
}
class SubClass2 extends BaseClass {
}