Maybe you could use something like this:
Code:
public class ClassFactoryBean implements FactoryBean,InitializingBean{
public ClassFactoryBean(String className){
_className = className;
}
public ClassFactoryBean(){
}
public afterPropertiesSet(){
if(_className == null)
throw new IllegalArgumentException("className is missing");
}
public void setClass(String className){
_className = className;
}
public Object getObject(){
return Class.forName(_className);
}
public Class getObjectType(){
return Class.class;
}
public boolean isSingleton(){
return true;
}
}
Code:
<property name="daoMap">
<map>
<entry>
<key>
<bean class="ClassFactoryBean">
<constructor-arg value="org.example.webapp.domain.Salary"/>
</bean>
</key>
<value><ref bean="salaryDao"/><value>
</entry>
</map>
</property
I must admit it isn`t the most prettiest thing I have seen. But it should work.