一文弄懂java中POJO和bean区别
更新时间:2025年10月11日 09:40:01 作者:shengjk1
本文主要介绍了一文弄懂java中POJO和bean区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
在Java中,POJO(Plain Old Java Object)和JavaBean都是普通的Java对象,但它们在定义规范和使用场景上存在一些区别:
1. 定义与规范
POJO(简单老式Java对象)
- 没有严格的规范约束,本质上就是一个普通的Java类
- 可以包含字段、构造方法、getter/setter方法
- 不需要实现特定接口或继承特定类
- 可以有任意的方法,不限制访问修饰符
- 示例:
public class User { private String name; private int age; // 可以只有字段,甚至没有getter/setter // 可以有任意构造方法 }JavaBean
- 是一种遵循特定规范的POJO
- 必须有无参构造方法
- 字段必须私有(private)
- 必须通过公共(public)的getter/setter方法访问字段
- 可以实现
Serializable接口(通常建议实现,用于序列化) - 示例:
import java.io.Serializable; public class UserBean implements Serializable { private String name; private int age; // 必须有无参构造 public UserBean() {} // 必须有getter/setter public String getName() { return name; } public void setName(String name) { this.name = name; } public int getAge() { return age; } public void setAge(int age) { this.age = age; } }
2. 关系
- 所有JavaBean都是POJO,但并非所有POJO都是JavaBean
- JavaBean是POJO的一个子集,是满足特定规范的POJO
3. 使用场景
- POJO:更通用,适用于各种场景,尤其是简单的数据载体,如DTO(数据传输对象)、VO(值对象)等
- JavaBean:主要用于需要符合特定规范的场景,如:
- 早期的JSP标签库
- 序列化/反序列化(如JSON转换)
- 各种框架的反射操作(如Spring、Hibernate等)
4. 总结
简单来说,POJO更自由灵活,而JavaBean则是"规矩更多"的POJO,这些规矩主要是为了让框架能更方便地处理对象。
到此这篇关于一文弄懂java中POJO和bean区别的文章就介绍到这了,更多相关java POJO bean内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
springMvc注解之@ResponseBody和@RequestBody详解
本篇文章主要介绍了springMvc注解之@ResponseBody和@RequestBody详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2017-05-05
Springboot继承Keycloak实现单点登录与退出功能
这篇文章主要介绍了Springboot继承Keycloak实现单点登陆与退出,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下2023-08-08
解决SpringMvc中普通类注入Service为null的问题
这篇文章主要介绍了解决SpringMvc中普通类注入Service为null的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-07-07


最新评论