当前位置:网站首页 > 技术博客 > 正文

pow在java



在这个简短的教程中,我们将研究“普通Java对象”(Plain Old Java Object)的定义,简称POJO。我们将看看POJO与JavaBean的比较,以及如何将POJO转换为JavaBean。

当我们谈论POJO时,我们所描述的是一个简单的类型,没有任何特定框架的引用。POJO对我们的属性和方法没有命名约定。

让我们创建一个基本的员工POJO。它将有三个属性;名字、姓氏和入职日期:

 

这个类可以被任何Java程序使用,因为它不绑定到任何框架。但是,我们没有遵循任何真正的约定来构造、访问或修改类的状态。这种缺乏惯例的做法造成了两个问题:

1)如何使用它需要理解一下。

2)它可能会限制框架对其支持约定而不是配置、理解如何使用类以及增强其功能的能力。

为了探索第二点,让我们使用反射来处理EmployeePojo。因此,我们将开始发现它的一些局限性。

先添加一个依赖:

 

现在,让我们检查一下POJO的属性:

 

如果要将propertyNames打印到控制台,我们只会看到:

在这里,只找到start(因为是getStart方法)。PropertyUtils未能找到其他两个。

如果我们使用像Jackson这样的其他库来处理EmployeePojo,我们也会看到同样的结果。

理想情况下,我们可以查看所有属性:firstName、lastName和startDate。好消息是许多Java库默认支持JavaBean命名约定。

JavaBean仍然是一个POJO,但围绕如何实现它引入了一组严格的规则:

  • 访问级别—要求属性是私有的,并暴露公开getter和setter方法。
  • 方法名–getter和setter遵循getX和setX约定(对于布尔值,isX可以用于getter)
  • 默认构造函数–必须存在无参数构造函数,以便在不提供参数的情况下创建实例,例如在反序列化期间

Serializable–实现Serializable接口允许我们存储状态。

 

当我们用反射检查bean时,现在我们得到了属性的完整列表:

所以,我们展示了JavaBeans的一种有用方法。注意,每一个设计选择都会带来权衡。

在使用JavaBeans时,我们还应该注意一些潜在的缺点:

  • 可变性–JavaBean由于其setter方法而具有可变性–这可能会导致并发性或一致性问题
  • 样板文件–我们必须为所有属性引入getter,为大多数属性引入setter,其中大部分可能是不必要的零参数构造函数——我们经常需要构造函数中的参数来确保对象以有效状态实例化,但是JavaBean标准要求我们提供零参数构造函数。

考虑到这些权衡,这些年来,框架也适应了其他bean约定。

完整程序代码:什么是POJO

  • 上一篇: 安卓cpu测试软件
  • 下一篇: 迈迪工具集教程
  • 版权声明


    相关文章:

  • 安卓cpu测试软件2025-01-14 12:01:01
  • 什么是灰度发布技术2025-01-14 12:01:01
  • 迭代器iterator三个方法2025-01-14 12:01:01
  • 图的深度优先遍历和广度优先遍历c语言2025-01-14 12:01:01
  • idea创建java工程2025-01-14 12:01:01
  • 迈迪工具集教程2025-01-14 12:01:01
  • pstree命令2025-01-14 12:01:01
  • 启动项管理完整版apk2025-01-14 12:01:01
  • springboot做增删改查2025-01-14 12:01:01
  • sudo在linux2025-01-14 12:01:01