判断getter/setter方法
在 Mybatis的源码中,有 类 PropertyNamer 判断 getter/setter 方法 :
PropertyNamer { PropertyNamer() { } /** 获取方法的属性:截取is/setter/getter后面的字符串,将首字母转成大写 */ String (String name) { (name.startsWith()) { name = name.substring(); } (name.startsWith() || name.startsWith()) { name = name.substring(); } { ReflectionException(+ name + ); } (name.length() == || (name.length() > && !Character.(name.charAt()))) { name = name.substring(, ).toLowerCase(Locale.) + name.substring(); } name; } /** 是否是属性 */ (String name) { (name) || (name); } /** 方法名以get开头,且长度大于3 */ (String name) { (name.startsWith() && name.length() > ) || (name.startsWith() && name.length() > ); } /** 方法名以set开头,且长度大于3 */ (String name) { name.startsWith() && name.length() > ; } }
另外:
一个属性的 get方法,不仅会有 getProp() 的方法,也可能会有 isProp() 的方法,这两个方法是通用的,在Mybatis对类方法的处理中,也做了识别;
赞 (0)