2

我想知道 Mybatis 如何获取 Java 中的私有变量。

例如:

假设我们有一个名为 Foo 的 Java 类:

public class Foo{
   private int foolID;

   public Foo(int foolID){
     this.foolID = foolID;
   }
}

让我们为插入创建 XML 映射器。

<insert id="insert" parameterType="Foo">
    insert into foo_table (id)
    values (#{foolID});
</insert>

假设这个插入有 FooDAO java 类和 FooMapper java 接口。

我的问题是即使没有 Getter,傻瓜ID 是如何可读的(即使有傻瓜ID 的getter 方法,我也从不指定getter 是什么......)。这对我来说似乎很神奇,而且我知道编程没有魔法...... :)

我能想到的唯一方法就是反思。

提前感谢您的帮助。

4

1 回答 1

1

没错,反射是用来访问私有字段的,但前提是访问私有字段不受限制。像反射这样的接缝不仅用于访问私有字段,还用于调用 setter getter 等。

于 2013-04-05T15:43:53.533 回答