Java 未正确分配Spring XML属性
我有以下资料:Java 未正确分配Spring XML属性,java,spring,Java,Spring,我有以下资料: public class DifferentClass { Map<String,AnotherClass>someMap; } public class AnotherClass { Class<?> dataType; public void setDataType(Class<?> val) { this.dataType=val; } } public class A { .
public class DifferentClass {
Map<String,AnotherClass>someMap;
}
public class AnotherClass {
Class<?> dataType;
public void setDataType(Class<?> val) {
this.dataType=val;
}
}
public class A {
...
public static class B {
...
}
...
}
公共类差异类{
MapsomeMap;
}
公共类另一类{
类数据类型;
公共void setDataType(类val){
this.dataType=val;
}
}
公共A类{
...
公共静态B类{
...
}
...
}
以下SpringBean配置:
…
…
…
…
我遇到的问题是,当我调用dataType.getCanonicalName()时,我只得到了.project.path.to.A。这让我相信Spring在转换为类以分配给另一个Class.dataType时正在截断名称。我用$a和a都试过了。你能试试:“
a&dollar;B
”、“a\$B”
、“a&36;B
”或“a$$B
”?不,a&dollar;B、 A\$B,A$$B导致未发现类错误和A$;B未能引用内部类。如果无法从类的接口集中找到接口,我们将在某个点抛出IllegalArgumentException。静态内部类实现了这些接口中的一个,而外部类没有实现。作为记录,我也尝试了A.B。我用Spring 3.1.2尝试了您的示例,两个版本都工作得很好-my.project.path.to.A$B
和my.project.path.to.A.B
,规范名称为my.project.path.to.A.B
,不知道为什么你会看到不同的行为