`
落地窗
  • 浏览: 438105 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JavaBean 属性命名规范特例

阅读更多

以下为网络资源!
如果JavaBean的属性值第二个字母为大写,有的Eclipse会出问题,在这个问题上又研究了一下下,总结如下:

一般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。

所以在JavaBean命名时应该注意符合以上命名规范。

需要注意的是有些开发工具的自动生成的getter/setter方法,并没有考虑到上面所说的特例情况,导致bug的产生,比如Eclipse3.4版本,Eclipse3.5较3.4智能些,避免了一些问题。以下是我在Eclipse3.5和Eclipse3.4分别做的实验:

在User的实体类中,设了两个变量,一个是userName,另一个是uName,然后用Eclipse的自动生成的get和set方法(source–>Generate getter andsetter),在Eclipse3.5中生成的是下图所示的正确的方法,正常的方法是将变量名的首字母变成大写,而如果变量名的第一个字母是小写,第二个字母是大写,则第一个字母为小写不变。




然后在spring配置文件中对User类进行bean注入




接下来运行一个测试的方法,将两个变量输出



以下是输出结果。




而在Eclipse3.4中,这样的命名方法就会出问题,看下图红色标注的地方,Eclipse3.4只是简单的将第一个字母变成大写。




这样在同样的配置文件下,运行测试方法就会出问题,说uName这个属性找不到,因为已经变成了UName,所以在创建bean的时候就找不到uName这个变量了。




前两个字母大写的情况:



输出结果:




首字母大写的情况:






这时会出现问题:



希望大家在对属性进行命名的时候注意一下特殊情况,可以避免相关问题的产生。
  • 大小: 19.8 KB
  • 大小: 18.5 KB
  • 大小: 7.8 KB
  • 大小: 1.4 KB
  • 大小: 17.7 KB
  • 大小: 6.2 KB
  • 大小: 8.4 KB
  • 大小: 980 Bytes
  • 大小: 8.5 KB
  • 大小: 5.5 KB
  • 大小: 1.8 KB
分享到:
评论

相关推荐

    java 基础之JavaBean属性命名规范问题.docx

    ### JavaBean属性命名规范 JavaBean是一种遵循特定编码标准的Java类,主要用于封装数据或表示简单的数据载体。在JavaBean中,属性的命名规范是非常重要的,因为它直接影响到代码的可读性和可维护性,同时也会影响到...

    JavaBean属性命名规范问题分析

    Java Bean属性命名规范问题分析

    java 基础之JavaBean属性命名规范问题

    Java 基础之 JavaBean 属性命名规范问题 JavaBean 属性命名规范问题是 Java 开发中一个重要的知识点。JavaBean 是一种特殊的 Java 类,它遵循特定的命名规范,以便于其他 Java 类可以正确地访问和操作它的属性。...

    javabean属性资料

    在JavaBean中,属性是类中的成员变量,它们代表了对象的状态。了解JavaBean的属性分类对于理解和使用JavaBean至关重要。以下是对四种不同类型的JavaBean属性的详细说明: 1. **Simple 属性** Simple属性是最基础的...

    java命名规范以及注释规范

    - 访问属性的方法遵循JavaBean规范,如`getXXX`, `setXXX`。 - 转换对象类型的返回方法命名为`toType`,如`toString`, `toArray`。 - 返回视图的方法以`asType`形式命名,如`asList`。 - 返回原始类型值的方法,...

    javabean规范

    这些方法命名遵循JavaBeans的命名约定,即`get`或`set`前缀加上属性名称的首字母大写形式。 4. **序列化**:JavaBean 必须实现`Serializable`接口,这允许对象的状态被保存和恢复,比如在持久化存储或网络传输时。 ...

    JavaBean 属性

    这里遵循了 JavaBean 的命名约定,即 setter 方法前缀为 `set`,getter 方法前缀为 `get` 或者 `is`(对于布尔类型的属性)。 #### 2. Indexed 属性 Indexed 属性是指具有索引的数组或集合类型的属性。这种类型的...

    Java 开发命名规范

    "Java 开发命名规范" Java 开发命名规范是指在 Java 项目中对包名、类名、变量名等命名的规则和惯例,旨在确保代码的可读性、可维护性和重用性。本文将对 Java 开发命名规范进行详细的解释和说明。 一、包名命名...

    前台字符串赋值给JavaBean属性自动类型转换

    在Java Web开发中,我们经常需要将前端传来的字符串数据转换为JavaBean的属性,这一过程称为自动类型转换。在Spring框架中,`BeanUtils`、`Converter`和`ConvertUtils`是三个常用的工具类,它们帮助我们简化了这个...

    jsp调用javabean的问题

    4. **错误的JavaBean命名规范**:JavaBean应遵循Java的命名规范,即属性名称首字母小写,对应的getter和setter方法首字母大写。 5. **线程安全问题**:如果JavaBean在session或application作用域中,而它不是线程...

    JavaBean示例

    JavaBean是Java编程语言中的一种特定类,遵循特定的规范,用于封装数据并提供属性访问。这个"JavaBean示例"旨在帮助初学者理解和使用JavaBean。JavaBean主要用于构建Java应用程序的可重用组件,特别是在JavaServer ...

    根据数据库表生成JavaBean属性.sql

    可以 将 数据库表中字段转为相应的 javaBean 对象 很方便的 生产bean

    jsp中使用javabean的两点注意事项

    2. **理解JavaBean属性命名约定**:JavaBean属性遵循驼峰命名法,即首个单词的首字母小写,后续单词首字母大写。例如,`firstName`对应的getter方法为`getFirstName()`。 3. **审查JavaBean代码**:仔细检查...

    javabean概念和使用

    1. 属性(properties):JavaBean 提供了高层次的属性概念,属性在 JavaBean 中不只是传统的面向对象的概念里的属性,它同时还得到了属性读取和属性写入的 API 的支持。 2. 方法(method):JavaBean 中的方法就是...

    JavaBean开发用户注册页面.pdf

    JavaBean开发用户注册页面需要遵循JavaBean开发规范,包括JavaBean的命名规则、属性规则、方法规则等。JavaBean开发规范可以确保JavaBean的可重用性、可维护性和可扩展性。 2. JSP与JavaBean之间的数据传输 ...

    JAVABEAN

    JavaBean遵循特定的规范,使它们能够被其他Java应用或开发工具(如IDEs)识别、可视化和操作。JavaBean的主要目标是提供组件重用,简化开发过程,并促进软件的模块化。 标题"JAVABEAN"指的是这个项目或系统是基于...

    基于反射机制的JavaBean属性处理工具源码:commons-beanutils

    本项目为Apache Commons子项目——commons-beanutils的核心源码,专注于利用Java反射机制高效处理JavaBean属性。该项目结构丰富,包含331个文件,涵盖295个Java源文件、14个XML文件、5个文本文件等,旨在为Java开发...

    javabean留言小项目

    - **命名约定**:属性名、getter和setter方法应遵循驼峰命名法,如属性`message`对应的getter是`getMessage()`,setter是`setMessage(String message)`。 2. **在留言小项目中的应用** - **数据封装**:在这个...

    JavaBean讲解(上)

    这些方法遵循JavaBeans的命名约定,例如,一个名为`age`的属性会有`getAge()`和`setAge(int)`的方法。 JavaBean的特点: 1. 可重用性:由于JavaBean符合一定的规范,因此可以在多个项目中复用,降低开发成本。 2. ...

    javabean(DB)

    - **命名规范**:JavaBean的类名通常采用驼峰式命名,例如`UserBean`,以表明它是一个JavaBean。 - **公共无参构造器**:为了方便实例化,JavaBean应提供一个公共的无参数构造器。 - **属性**:JavaBean封装的...

Global site tag (gtag.js) - Google Analytics