POJO和JavaBean的区别

POJO和JavaBean的区别

很多小伙伴学完ssm之后一脸懵,什么是POJO啊,为什么总是有这个东西出现啊,和JavaBean的区别是什么,闲来无事总结了一下网上的资料和自己的看法,希望对学习spring的小伙伴有所帮助

什么是POJO

POJO(Plain Ordinary Java Object)即普通Java类。

具有一部分getter/setter方法的那种类就可以称作POJO。主要用来指代那些没有遵循特定的java对象模型,约定或者框架的对象。

实际意义就是普通的JavaBeans(简单的实体类),特点就是支持业务逻辑的协助类。

POJO类的作用是方便程序员使用数据库中的数据表,对于程序员来说,可以很方便的将POJO类当作对象来进行使用,也可以方便的调用其get,set方法。
但不允许有业务方法,也不能携带有connection之类的方法,即不包含业务逻辑或持久逻辑等。

POJO的内在含义是:

有一些private的参数作为对象的属性,然后针对每一个参数定义get和set方法访问的接口。
没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。

public class BasicInfoVo {
private String orderId;
private Integer uid;
// 只能使用get和set方法
public String getOrderId() {
    return orderId;
}
public void setOrderId(String orderId) {
    this.orderId = orderId;
}
public Integer getUid() {
    return uid;
}
public void setUid(Integer uid) {
    this.uid = uid;
}}

使用图形来解释就是这样:

image-20210326114515708

什么是JavaBean

JavaBean 是一种JAVA语言写成的可重用组件

JavaBean符合一定规范编写的Java类,不是一种技术,而是一种规范。大家针对这种规范,总结了很多开发技巧、工具函数。符合这种规范的类,可以被其它的程序员或者框架使用。

它的方法命名,构造及行为必须符合特定的约定:

  • 所有属性为private。

  • 这个类必须有一个公共的缺省构造函数。即是提供无参数的构造器。

  • 这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。

  • 这个类应是可序列化的。实现serializable接口。

  • 因为这些要求主要是靠约定而不是靠实现接口,所以许多开发者把JavaBean看作遵从特定命名约定的POJO。

    image-20210326115040702

    public class UserInfo implements java.io.Serializable{  
    //实现serializable接口。  
    private static final long serialVersionUID = 1L;  
    private String name;  
    private int age;  
    //无参构造器  
    public UserInfo() {  
     
    }  
    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;  
    }  
    //javabean当中可以有其它的方法  
    public void userInfoPrint(){  
        System.out.println("");  
    

POJO和JavaBean两者有什么区别

  • POJO其实是比javabean更纯净的简单类或接口。POJO严格地遵守简单对象的概念,而一些JavaBean中往往会封装一些简单逻辑。

  • POJO主要用于数据的临时传递,它只能装载数据, 作为数据存储的载体,而不具有业务逻辑处理的能力。

  • Javabean虽然数据的获取与POJO一样,但是javabean当中可以有其它的方法。

要用于数据的临时传递,它只能装载数据, 作为数据存储的载体,而不具有业务逻辑处理的能力。

  • Javabean虽然数据的获取与POJO一样,但是javabean当中可以有其它的方法。

简而言之,当一个Pojo可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean。

  • 5
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值