在我不使用 Universe.typeOf[T] 获取成员但从 xml 文件中读取类名的情况下,如何通过 scala 反射 api 调用 setter 方法。
我添加了示例。
class Person
class Student(val name: String, val parent: Person){
var node: String = _
}
<beans>
<bean id="person" class="com.test.Person"/>
<bean id="student" class="com.test.Student">
<constructor signature="this(String,Person)">
<arg value="Test name"/>
<arg ref-val="person"/>
</constructor>
<property name="note" ref-val="Some note"/>
</bean>
</beans>
这就是我获取字段的方式
val classMirror = ru.runtimeMirror(getClass().getClassLoader())
.classSymbol(Class.forName(className))
classMirror.asType.toType.members.filter {
item =>
!item.isMethod && item.isTerm
}
然后我从外地得到二传手
field.asMethod.setter
如果可能的话,我不知道如何调用 setter 的应用。我也不知道我是否以正确的方式获得了身份证。