一Spring框架基础--1对象类型

一Spring框架基础--1对象类型

1.1 spring内对象类型

POJO(plain ordinary java object简单java对象)的内在含义是指那些没有从任何类继承、也没有实现任何接口,更没有被其它框架侵入的java对象。 POJO对象有无参构造函数,每个字段都有getter和setter的java类。不允许有业务方法,不能携带connection之类方法,即不包含业务逻辑或持久层逻辑。

Pojo和po的区别

PO(persistent Object)持久对象实际上必须对应数据库中的entity,所以和POJO有所区别。

VO属性一一对应当前业务逻辑所需要的数据的名称。

POJO是由new创建,由GC回收。但是持久对象是insert数据库时创建,由数据库delete删除的。基本上持久对象生命周期和数据库密切相关。另外持久对象往往只能存在一个数据库Connection之中,Connnection关闭以后,持久对象就不存在了。PO要实现序列化接口。

而POJO只要不被GC回收,总是存在的。
由于存在诸多差别,PO相对于POJO会增加一些用来管理数据库entity状态的属性和方法。

Javabean和pojo的区别:

JavaBean 是一种JAVA语言写成的可重用组件。它的方法命名,构造及行为必须符合特定的约定:

\1. 这个类必须有一个公共的缺省构造函数。

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

\3. 这个类应是可序列化的。

JavaBean通过封装属性和方法,称为有某种功能或处理某个业务的对象。

总结来说:

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

image-20221014093034971

POJO:不带有业务逻辑的javabean,用于数据的临时传递,只能装载数据,作为数据存储的载体,不具有业务逻辑处理能力。(POJO是VO、bo、po、dt等的统称)

Javabean:可重复使用的组件,因此可以有业务逻辑(pojo可以序列化、有无参构造函数,它就可以是一个Javabean了)

Vo:value object,单纯的值对象,用于业务层service层之间的数据传递,和PO一样,仅仅包含数据,但VO中是抽象出的业务对象。

BO:(Business Object)业务对象,封装业务逻辑的java对象,经过调用DAO方法,结合PO,VO进行业务操做。这个对象能够包括一个或多个其它的对象。

Po:持久化数据 persistent object,跟数据库交互时候存在的中间对象,可以有各种逻辑操作。

Dto:data trans object 数据交换对象

DAO:Data Access Object数据访问对象,是sun的一个标准j2ee设计模式 .此对象用于访问数据库。一般和PO结合使用,DAO中包含了各类数据库的操做方法。经过它的方法,结合PO对数据库进行相关的操做。夹在业务逻辑与数据库资源中间。配合VO, 提供数据库的CRUD操做。

1.2 spring中的aware接口

Spring中存在很多继承自aware的接口,实现了这个接口的类,能够获取到自身在容器中的特定前缀的属性。

如实现了applicationcontextaware接口的类,能够获取到applicationcontext;实现了beanfactoryaware接口的类,能够获取到beanfactory对象。

该接口为对spring进行简单的扩展提供了方便的入口。

1.2.1 aware源码层面的实现原理

[详见2.13 Aware接口](##2.13 Aware接口 )

posted @ 2023-03-09 14:17  LeasonXue  阅读(62)  评论(0编辑  收藏  举报