首页 > 代码库 > Java Bean 命名规则

Java Bean 命名规则

      在SSH框架中写写某个添加功能,发现数据库中的某个字段竟然没有改变。页面数据传到后台,我用的是ajax的序列化。于是我打印序列化后的数据,发现页面数据没有问题,但是当数据传后后台的action里面的时候,方向这个 private  int pCount;这个的值是0.这个的数据竟然没有传过来,显示是 0 。这就有点尴尬了。

     由于不知道这个问题出现在哪里,于是通过百度,在百度上面的无数资料中查看相关问题。通过漫长的百度。终于发现了问题所在,原来是我的这个字段命名出现了问题。

网上说:javabean属性命名尽量使用常规的驼峰式命名规则。

    当时写了 private int pCount. 并且使用myeclipse里面的功能生成其的get和set方法。看下生成的方法:

技术分享

    如果和javabean属性命名尽量使用常规的驼峰式命名规则对照着看 你就会方向问题了。规则:

1. 对于常规属性  <propertyName> , 属性名称的第一个单词小写且字母个数大于1,第二个单词首字母大写  。对应的getter/setter方法名为:get /set +  <PropertyName>(), 即属性名称的第一个单词的首字母改成大写, 前面再加上"get"或"set"前缀。

2. 对于布尔类型 <propertyName> , 可以按常规属性的规则编写getter/setter方法外, getter方法可以使用 is +  <PropertyName>()的形式来代替。

3. 对于非常规属性<pName>, 属性名称的第一个单词小写且字母个数等于1,第二个单词首字母大写  。

这样就可以发现问题了。生成的get和set方法的除get/set外的首字母必须大写,而这里确实小写,这就会出现前面的问题,页面的参数传不到action。

以后需要避免:属性名第一个单词尽量避免使用一个字母:如pCount。
                   boolean属性名避免使用 “is” 开头的名称

 

Java Bean 命名规则