通过实例解析POJO和JavaBean的区别
POJO
POJO(Plain Ordinary Java Object)即普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO。
实际意义就是普通的JavaBeans(简单的实体类),特点就是支持业务逻辑的协助类。
POJO类的作用是方便程序员使用数据库中的数据表,对于程序员来说,可以很方便的将POJO类当作对象来进行使用,也可以方便的调用其get,set方法。
但不允许有业务方法,也不能携带有connection之类的方法,即不包含业务逻辑或持久逻辑等。
JavaBean
按照Sun公司的定义,JavaBean是一个可重复使用的软件组件。实际上JavaBean是一种Java类,通过封装属性和方法成为具有某种功能或者处理某个业务的对象,简称bean。
JavaBean 是一种JAVA语言写成的可重用组件。它的方法命名,构造及行为必须符合特定的约定:
该类必须有一个公共的缺省构造函数。该类的属性使用getter和setter来访问,其他方法遵从标准命名规范。该类应是可序列化的。
因为这些要求主要是靠约定而不是靠实现接口,所以许多开发者把JavaBean看作遵从特定命名约定的POJO。
JavaBean的任务就是: “Write once, run anywhere, reuse everywhere”,即“一次性编写,任何地方执行,任何地方重用”。
JavaBean可分为两种:一种是有用户界面(UI,User Interface)的JavaBean;还有一种是没有用户界面,主要负责处理事务(如数据运算,操纵数据库)的JavaBean。JSP通常访问的是后一种JavaBean。
总结
简而言之,当一个Pojo可序列化,有一个无参的构造函数,使用getter和setter方法来访问属性时,他就是一个JavaBean。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
Java中json与javaBean几种互转的讲解
一.java普通对象和json字符串的互转 java对象---->json 首先创建一个java对象: public class Student { //姓名 private String name; //年龄 private String age; //住址 private String address; public String getName() { return name; } public void setName(String name) { this.name = name; }
-
java中PO、VO、BO、POJO、DAO、DTO、TO、QO、Bean、conn的理解
O/R Mapping 是 Object Relational Mapping (对象关系映射)的缩写.通俗点讲,就是将对象与关系数据库绑定,用对象来表示关系数据.在 O/R Mapping 的世界里,有两个基本的也是重要的东东需要了解,即 VO , PO . VO ,值对象 (Value Object) , PO ,持久对象 (Persisent Object) ,它们是由一组属性和属性的 get 和 set 方法组成.从结构上看,它们并没有什么不同的地方.但从其意义和本质上来看是完全不同的.
-
Spring中基于Java的配置@Configuration和@Bean用法详解
一.首先,需要xml中进行少量的配置来启动Java配置: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://ww
-
Java反射中java.beans包学习总结
之前一直以为PropertyEditor是SpringMVC提供的,今天才知道这个是jdk提供的,汗颜啊! 这个东西能干啥用呢?可以把字符串转成一个bean对象,spring mvc在把form表单映射到controller的入参对象就是利用的这个东西. 看一个例子: NodeDO.java:一个标准的javabean对象 public class NodeDO { private String name; private String email; private Date date; pub
-
NetBeans安装提示neatbeans cannot find java 1.8 or higher
1 问题 安装NetBeans的时候,点击bin目录下的netbeans64.exe,然后提示错误 neatbeans cannot find java 1.8 or higher 然后我在终端输入java -version是1.8 C:\Users\User>java -version java version "1.8.0_65" Java(TM) SE Runtime Environment (build 1.8.0_65-b17) Java HotSpot(TM) 64-
-
java递归菜单树转换成pojo对象
复制代码 代码如下: package com.cjonline.foundation.authority.pojo;import java.util.ArrayList;import java.util.Collections;import java.util.Iterator;import java.util.List;import org.apache.log4j.Logger;import com.cjonline.foundation.util.CheckNullEmpty;/** *
-
IDEA使用Lombok简化POJO代码的示例
使用Lombok 简化POJO代码 正常编写一个java POJO 类 ,每次在做这个内容编写的时候都会需要很多的 get set 经常重复写,如果忘记写了一个也不容易找到 所以使用了Lombok maven 配置 <dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <version>1.16.18</version&
-
基于java中的PO VO DAO BO POJO(详解)
一.PO:persistant object 持久对象,可以看成是与数据库中的表相映射的ava对象. 最简单的PO就是对应数据库中某个表中的一条记录,多个记录可以用PO的集合PO中应该不包含任何对数据库的操作. 二.VO:value object值对象.通常用于业务层之间的数据传递,和PO一样也是仅仅包含数据而已.但应是抽象出的业务对象可以和表对应也可以不这根据业务的需要 三.DAO:data access object 数据访问对象,此对象用于访问数据库.通常和PO结合使用,DAO中包含了各种
-
springmvc如何使用POJO作为参数
这篇文章主要介绍了springmvc如何使用POJO作为参数,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 springmvc会按请求参数名和POJO属性名进行匹配,自动为该对象填充属性值,支持级联属性. User.java package com.gong.springmvc.entities; public class User { private String username; private String password; priv
-
通过实例解析POJO和JavaBean的区别
POJO POJO(Plain Ordinary Java Object)即普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO. 实际意义就是普通的JavaBeans(简单的实体类),特点就是支持业务逻辑的协助类. POJO类的作用是方便程序员使用数据库中的数据表,对于程序员来说,可以很方便的将POJO类当作对象来进行使用,也可以方便的调用其get,set方法. 但不允许有业务方法,也不能携带有connection之类的方法,即不包含业务逻辑或持久逻辑等. Jav
-
python数据类型判断type与isinstance的区别实例解析
在项目中,我们会在每个接口验证客户端传过来的参数类型,如果验证不通过,返回给客户端"参数错误"错误码. 这样做不但便于调试,而且增加健壮性.因为客户端是可以作弊的,不要轻易相信客户端传过来的参数. 验证类型用type函数,非常好用,比如 >>type('foo') == str True >>type(2.3) in (int,float) True 既然有了type()来判断类型,为什么还有isinstance()呢? 一个明显的区别是在判断子类. type(
-
JavaScript常用截取字符串的三种方式用法区别实例解析
stringObject.substring(start,stop) 用于提取字符串中介于两个指定下标之间的字符. start必需.一个非负的整数,规定要提取的子串的第一个字符在 stringObject 中的位置. stop可选.一个非负的整数,比要提取的子串的最后一个字符在 stringObject 中的位置多 1.如果省略该参数,那么返回的子串会一直到字符串的结尾. start从0开始 到stop(不包含stop)结束 不接受负的参数. stringObject.substr(start,
-
Java内省实例解析
图像中轮廓的个数,里面vector的size代表了轮廓上点的个数.了解JavaBean 内省对应的英文单词为IntroSpector,它主要用于对JavaBean进行操作,JavaBean是一种特殊的Java类,其中的某些方法符合某种命名规则,如果一个Java类中的一些方法符合某种命名规则,则可以把它当作JavaBean来使用. JavaBean是一种特殊的Java类,主要用于传递数据信息,这种java类中的方法主要用于访问私有的字段,且方法名符合某种命名规则. 如果要在两个模块之间传递多个信息
-
C++基础知识实例解析(一)
今天小编和大家一起通过几个实例学习C++基础知识,下面进行实例解析: [1-1]编写一个程序,实现一个整数.长整数.浮点数和双精度数除以2的计算. [分析]这是一个典型的函数重载的程序.声明函数div()为除法函数,每个函数的功能基本都是一致的,不同的只是形式参数的类型不同而已.程序代码如下: #include <iostream> using namespace std; int division(int x){ return x/2; } long division(long x){ re
-
Android 媒体开发之MediaPlayer状态机接口方法实例解析
一. MediaPlayer 状态机 介绍 Android MediaPlayer 状态即图例 : 1. Idle (闲置) 状态 和 End (结束) 状态 MediaPlayer 对象声明周期 : 从 Idle 到 End 状态就是 MediaPlayer 整个生命周期; -- 生命周期开始 : 进入 Idle (闲置) 状态; -- 生命周期结束 : 进入 End (结束) 状态; Idle 和 End 状态转换 : -- 进入 Idle 状态 : MediaPlayer 刚被创建 new
-
C++普通函数指针与成员函数指针实例解析
C++的函数指针(function pointer)是通过指向函数的指针间接调用函数.相信很多人对指向一般函数的函数指针使用的比较多,而对指向类成员函数的函数指针则比较陌生.本文即对C++普通函数指针与成员函数指针进行实例解析. 一.普通函数指针 通常我们所说的函数指针指的是指向一般普通函数的指针.和其他指针一样,函数指针指向某种特定类型,所有被同一指针运用的函数必须具有相同的形参类型和返回类型. int (*pf)(int, int); // 声明函数指针 这里,pf指向的函数类型是int (
-
hibernate通过session实现增删改查操作实例解析
今天学习了一下如何通过hibernate来实现对数据库的增删改查,下面来简单介绍一下: 首先创建个Student类: package com.hibernate.model; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.T
-
python如何重载模块实例解析
本文首先介绍了Python中的模块的概念,谈到了一个模块往往由多个模块组成,然后通过具体实例,分析了模块重载的相关内容,具体介绍如下. 模块是Python程序架构的一个核心概念,较大的程序往往以多个模块文件的形式呈现,一个模块被设计成主文件或顶层文件,用来启动整个Python程序.每个以.py为后缀的Python源代码文件都是一个模块,其他文件可通过"导入"读取这个模块的内容.从一般意义上讲,模块就是变量名的封装.如写一个模块test.py,包含一个两个变量名name.age. nam
-
hibernate关于session的关闭实例解析
本文研究的主要是hibernate关于session的关闭,具体如下. Student student = new Student(); student.setName("Jan"); student.setAge("22"); student.setAddress("广东省肇庆市"); Session session =HibernateUtil.getSessionFactory().getCurrentSession(); session.
随机推荐
- 使用AngularJS 跨站请求如何解决jsonp请求问题
- vue中的event bus非父子组件通信解析
- iOS中 UIImage根据屏宽调整size的实例代码
- JS实现按钮添加背景音乐示例代码
- ASP.NET MVC中解析淘宝网页出现乱码问题的解决方法
- 8个出色的WordPress SEO插件收集
- js实现目录定位正文示例
- Python 异常处理的实例详解
- 浅谈JavaScript 框架分类
- 文章内容页广告浮于左上角的解决办法
- CentOS7下安装Scrapy步骤详细介绍
- Android 进程间通信实现原理分析
- 看了很惊讶的兹罗列194种创意线索
- 详解NSString 与C++ string字符串的互转
- c#协变和逆变实例分析
- Android实现应用内置语言切换功能
- 详解如何使用 vue-cli 开发多页应用
- Python opencv实现人眼/人脸识别以及实时打码处理
- Angular7.2.7路由使用初体验
- Spring+Hibernate+Struts(SSH)框架整合实战