JAVABEAN命名规范

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JAVABEAN命名规范相关的知识,希望对你有一定的参考价值。

其实和普通的类命名规范一样,只要一眼能看出是什么,就好,没什么特别的,英文还可以就用英文,实在不行,拼音也凑活 参考技术A 一般都是驼峰表示比如,allCheck,userPass等等..起名时尽量起有意义的名字,让其他人可以一目了然,这样代码可读性比较高。
参考技术B 一般都是驼峰表示比如,allCheck,userPass等等..起名时尽量起有意义的名字,让其他人可以一目了然,这样代码可读性比较高。

javabean命名不规范所带来的错

《转》
struts的action中全局变量明明有getset方法,而且是自动生成的,但是在使用的时候,总是说找不到这个属性的getset方法,取不到从jsp传来 的值, 原因如下:变量名为:hDeptment,在自动生成getset方法为:setHDeptment,getHDeptment。下面是解释这个问题。

 

(1)JavaBean 类必须是一个公共类,并将其访问属性设置为 public  ,如: public class user{......}

(2)JavaBean 类必须有一个空的构造函数:类中必须有一个不带参数的公用构造器

(3)一个javaBean类不应有公共实例变量,类变量都为private  ,如: private int id;
(4)属性应该通过一组存取方法(getXxx 和 setXxx)来访问,一般是IDE(Eclipse、JBuilder) 为属性生成getter/setter 方法

 

 

一般JavaBean属性以小写字母开头,驼峰命名格式,相应的 getter/setter 方法是 get/set 接上首字母大写的属性名。例如:属性名为userName,其对应的getter/setter 方法是 getUserName/setUserName。

但是,还有一些特殊情况:

1、如果属性名的第二个字母大写,那么该属性名直接用作 getter/setter 方法中 get/set 的后部分,就是说大小写不变。例如属性名为uName,方法是getuName/setuName。

2、如果前两个字母是大写(一般的专有名词和缩略词都会大写),也是属性名直接用作 getter/setter 方法中 get/set 的后部分。例如属性名为URL,方法是getURL/setURL。

3、如果首字母大写,也是属性名直接用作 getter/setter 方法中 get/set 的后部分。例如属性名为Name,方法是getName/setName,这种是最糟糕的情况,会找不到属性出错,因为默认的属性名是name。

所以在action的全局变量和JavaBean命名时应该注意符合以上命名规范。

 

 

遇到一个异常:

javax.servlet.jsp.el.ELException: Unable to find a value for “isActive” in object of class “com.mycompany.domain.User” using operator “.”

使用“.”运算符,在User类的对象中,找不到isActive的值。

错误之处是,在JSP页面中我使用了:

          
1
${user.isActive}

 

检查后发现没有写属性isActive的getter方法,那好,利用IntelliJ IDEA的自动生成代码功能,补上:

            1
            2
            3
            
public boolean isActive() {
            return isActive;
            }

JavaBean命名规范里面规定,对于primitive和自定义类类型的属性property(小 写),getter和setter方法就是getProperty和setProperty(第一个字母变大写,前面再加get或set)。而对于类型为 boolean的属性,getter方法还可以写为isProperty(getProperty仍然可用),而且,如果属性的前两个字母是is(两个小 写),则getter与property完全同名(比如上面属性isActive的getter就是isActive())。

如果有个叫isIsActive的boolean类型属性,它的getter呢?答案还是isIsActive()。

所以,无论属性名是isActive还是active,getter只能是isActive()或者getActive(),JSP里只能用${user.active}来访问(注意大小写)。

最好的办法是不要以“is”作为开头来命名boolean类型的属性,以免混淆。

分割线====================================================================================

总之,javaBean中,要设置或获取某个property的值,就需要相应的get和set方法,对于boolean型,你可以用get/set方式来处理boolean,可以用is来代替get;

再者,一定要注意javaBean中的命名规范!























以上是关于JAVABEAN命名规范的主要内容,如果未能解决你的问题,请参考以下文章

JavaBean的命名规则

最全SpringBoot学习教程:简述javabean中的命名规范

Java 项目命名规范

项目---命名规范

[转]Jsp 与 JavaBean

Javaweb项目的命名规范