POJO、Java Bean是如何定义的
在日常开发中还有一些类经常被人叫做POJO,还有的人叫它们Java Bean。这些概念都是在特定场景下引入,用来表明它们的特性的。那这些称呼都是啥意思,有啥标准和特征呢?今天就来分享一下这些没用的知识。
POJO
POJO是 Plain Old Java Object 的简写,大概意思就是“淳朴的Java对象”。这个词是国外一家外包公司的员工创造的。哪些类是POJO类还是有说法的,需要同时满足以下几个条件:
不实现任何接口的类。
不继承任何其它类的类。
不使用任何外部注解的类。
这种类其实就是切断了和外界联系的Java类,下面这个类肯定不是:
@Data
public class Dog {private String name;private Integer age;
}
这个才是POJO:
public class Dog {private String name;private Integer age;
}
Java Bean
Java Bean也经常出现在各种技术文献中,也不是随便什么类都能叫做Java Bean的,它需要有以下定义:
有无参数构造。
所有的属性必须是私有属性(private)。
所有的属性必须有公共的(public)的Getter和Setter。
它必须是可以被序列化的,也就是实现java.io.Serializable接口。
按照这个定义,POJO类如果想成为Java Bean,需要改造成下面的形式:
import java.io.Serializable;/*** @author felord.cn*/
public class Dog implements Serializable {private static final long serialVersionUID = 6723564465081191620L;private String name;private Integer age;public String getName() {return name;}public void setName(String name) {this.name = name;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}
}
Spring Bean
既然说到这里了,不妨再说下Spring Bean。Spring Bean的要求就低多了,只要这个类(接口)被注入了Spring IoC,那么这个类(接口)都可以被称作一个Spring Bean。至于一个类如何注入Spring IoC,这里就不说了,大家天天都在做。
最后
最后,我们可以得出结论,一个POJO总是孤孤单单的,它不可能成为一个Java Bean或者Spring Bean;但是Java Bean可以同时是一个Spring Bean;Spring Bean也可以是一个Java Bean`
POJO、Java Bean是如何定义的相关推荐
- pojo与java bean_POJO与Java Bean
我们知道在Java中POJO是指普通的旧Java对象.Java中的POJO和Bean类具有一些共同的特征,如下所示-两个类都必须是公共的,即所有人都可以访问. 在两个类中定义的属性或变量必须是私有的, ...
- 使用maven根据JSON文件自动生成Java POJO类(Java Bean)源文件
根据JSON文件自动生成Java POJO类(Java Bean)源文件 本文介绍使用程序jsonschema2pojo来自动生成Java的POJO类源文件,本文主要使用maven,其他构建工具请参考 ...
- 关于JAVA Bean实体类对象pojo,vo,po,dto,entity之间的区别
关于JAVA Bean实体类对象pojo,vo,po,dto,entity之间的区别: Pojo: Pojo 普通的java对象 最基本的javaBean只有属性 加上属性的get,set方法,可以转 ...
- ejb java bean的区别_关于ejb:Bean,Java Bean和Enterprise Java Bean之间的区别
本问题已经有最佳答案,请猛点这里访问. 我已经阅读了关于EJB,JavaBean的文章,但是我仍然怀疑"bean"这个词本身是什么意思呢? a)纯术语"bean" ...
- java bean spring_Java bean与Spring、Spring MVC关系
Java Bean Java语言欠缺属性.事件.多重继承功能.所以,如果要在Java程序中实现一些面向对象编程的常见需求,只能手写大量胶水代码.Java Bean正是编写这套胶水代码的惯用模式或约定. ...
- 【建议收藏】MD5 算法的Java Bean
MD5信息摘要算法(英语:MD5 Message-Digest Algorithm),一种被广泛使用的密码散列函数,可以产生出一个128位(16字节)的散列值(hash value),用于确保信息传输 ...
- Spring在bean配置文件中定义电子邮件模板
在上一篇Spring电子邮件教程,硬编码的所有电子邮件属性和消息的方法体中的内容,这是不实际的,应予以避免.应该考虑在Spring bean 配置文件中定义电子邮件模板. 1.Spring的邮件发件人 ...
- Java+MyEclipse+Tomcat (五)DAO和Java Bean实现数据库和界面分开操作
正如前面一篇文章的介绍,当使用Servlet提交表单和JSP数据库查询时,总是相互交叉着的处理,要么在JSP中通过<%...%>内嵌Java代码操作数据库,要么 JSP中通过Post方法提 ...
- Java Bean Validation 最佳实践
<h1 class="postTitle"><a id="cb_post_title_url" class="postTitle2& ...
最新文章
- GridView隐藏列取值解决方案
- java通用象棋游戏_在通用国际象棋界面周围模拟GraphQL包装器
- 深入理解幂等性及Restful风格API的幂等性问题详解
- 博弈论66个经典例子_「百大管理学定律」博弈论Game Theory
- 《全栈营销之如何制作个人博客》之二:php环境安装及个人博客后台搭建 让你的博客跑起来...
- Python3只出现一次数字
- 分享 : 警惕MySQL运维陷阱:基于MyCat的伪分布式架构
- 鼠标中间无法打开新标签_还记得鼠标有几个键?Win10环境鼠标中键的妙用
- php开发当中遇到的各种问题,PHP项目开发中遇到过的问题
- LeetCode简单题目(#118 #119 #121 #122 #125 #136 #141 #155)-8道
- easyui中datagrid空数据集不刷新的解决方式
- MySQ随笔2(连接表、分组)
- java 字符串长度截取,实现java字符串长度截取功能,java字符串长度截取
- 如何给视频加背景音乐?简单快速上手,制作抖音等小视频必备!
- 创造者的品味 转自apple4.us
- html页面整体偏移了怎么办,html2canvas生成的图片偏移不完整的解决方法
- 对量子态和运算的一些基础认识
- 关于UnityPC端打包参数设置及发布PC端时固定分辨率
- JAVA网络爬爬学习之HttpClient+Jsoup
- py socket5 代理