原型模式

vo:value object:值对象
po:persistant object:持久层对象
bo:business object:业务对象 PO组合,如投保人是一个PO,被保险人是一个PO,险种信息是一个PO等等,他们组合气来是第一张保单的BO
dto:data transfer object:数据传输对象
pojo:可以额转化为PO、DTO、VO;比如POJO在传输过程中就是DTO
entity:实体,和PO的功能类似,和数据表一一对应,一个实体一张表
如何区分

转https://blog.csdn.net/qq_41604862/article/details/79675223

深克隆,浅克隆

DTO和VO之间存在一些属性名称和类型相同的数据从数据表中查询出来的对象,赋值给DTO,再给mvc中的MODEL。但不能直接给过去
先把DTO赋值给VO,再VO中把值传到View中
复制就是把DTO每个属性赋值给VO中每个属性,包括值,类型
如Apache 使用反射实现(原型模式)
java推荐使用CloneAble接口实现,spring使用反射
spring中 把对象配置依赖关系,在每次使用对象前,都会创建一个新的对象,并把依赖关系完整的赋值给这个新创建的对象
常用scope属性
新创建的对象(新bean)原型模式
scope="propotype"
spring默认使用单例模式
只创建一个
scope="singleton"

当设置为prototype时:每次连接请求,都会生成一个bean实例,也会导致一个问题,当请求数越多,性能会降低,因为创建的实例,导致GC频繁,gc时长增加。

设置为单例模式:保证了全局都会有一个实例,对性能有所提高,但是如果实例中有非静态变量时,会导致线程安全问题,共享资源的竞争。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值