JavaBean是什么,POJO是什么

参考:https://stackoverflow.com/questions/3295496/what-is-a-javabean-exactly

   https://stackoverflow.com/questions/12517905/what-is-java-pojo-class-java-bean-normal-class

           https://www.geeksforgeeks.org/pojo-vs-java-beans/

JavaBean仅仅是一个标准

  1. 所有的数据项都是private的(使用getter/setter进行设置)

  2. 一个public的无参构造函数

  3. implements Serializable接口

JavaBean和我们通常写的Class没有什么本质区别,你写的Class如果复合上面的规范,那么它就是一个JavaBean。

既然和一般的Class没有什么特殊区别,为什么要专门定义这么一个术语呢?因为符合JavaBean规范的类会给许多类库的实现带来便利。例如只要我们自己的类是一个JavaBean,那么类库就可以直接对其进行stream处理。

Spring其实不要求我们实现的类符合JavaBean规范,只要这个类是一个POJO(没有继承预定义类的类,没有实现预定义接口的类,没有添加预定义注释的类),就可以成为一个Spring组件。

猜你喜欢

转载自www.cnblogs.com/wangshuo/p/10213834.html