《Spring实战》第一章:基本理念、各类名称熟语 POJO(Plain Ordinary Java Object)简单的Java对象,实际就是普通JavaBeans,是为了避免和EJB混淆所创造的简称。 使用POJO名称是为了避免和EJB混淆起来, 而且简称比较直接. 其中有一些属性及其getter setter方法的类,没有业务逻辑,有时可以作为VO(value -object)或dto(Data Transform Object)来使用.当然,如果你有一个简单的运算属性也是可以的,但不允许有业务方法,也不能携带有connection之类的方法。 POJO的内在含义:有一些private的参数作为对象的属性,然后针对每一个参数定义get和set方法访问的接口。没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。 JavaBeans:JavaBeans事实上有三层含义。首先,JavaBeans是一种规范,一种在Java(包括JSP)中可重复使用的Java组件的技术规范,也可以说成我们常说的接口。其次,JavaBeans是一个Java的类,一般来说,这样的Java类将对应于一个独立的 .java文件 ,在绝大多数情况下,这应该是一个public类型的类。最后,当JavaBeans这样的一个Java类在我们的具体的Java程序中被实例之后,这就是我们面向对象的对象,我们有时也会将这样的一个JavaBeans的实例称之为JavaBeans。总之,就是Java中的接口、类和对象。 它的方法命名,构造及行为必须符合特定的约定:: 1、所有属性为private。 2、这个类必须有一个公共的缺省构造函数。即是提供无参数的构造器。 3、这个类的属性使用getter和setter来访问,其他方法遵从标准命名规范。 4、这个类应是可序列化的。实现serializable接口。 因为这些要求主要是靠约定而不是靠实现接口,所以许多开发者把JavaBean看作遵从特定命名约定的POJO。 JDO(Java Data Object )是Java对象持久化的新的规范,也是一个用于存取某种数据仓库中的对象的标准化API。 EJB 序列化和反序列化 Serializable 如果用transient声明一个实例变量,当对象存储时,它的值不需要维持。换句话来说就是,用transient关键字标记的成员变量不参与序列化过程。 静态static的属性,不序列化。 serialVersionUID:再序列化的时候Java根据model属性相关计算出来的。(再实现这个Serializable 接口的时候,一定要给这个serialVersionUID赋值,可以设置1L) 类通过实现 java.io.Serializable 接口以启用其序列化功能。 未实现此接口的类将无法使其任 何状态序列化或反序列化。 可序列化类的所有子类型本身都是可序列化的。因为实现接口也是间接的等同于继承。 序列化接口没有方法或字段,仅用于标识可序列化的语义。 关于序列化和反序列化文章:https://blog.csdn.net/u013870094/article/details/82765907 POJO:Spring的非侵入编程模型意味着这个类在Spring应用和非Spring应用中都可以发挥同样的作用。 依赖注入: 在构造的时候将实例参数做为构造器参数传入。
原文地址:https://www.cnblogs.com/geekftz/p/11274387.html
时间: 2024-10-24 18:35:31