最近在学JavaWeb,接触到了很多java后端的概念,其中JavaBean和vo的概念一直让我模糊不清,查询众多资料后写个博客记录一下。
首先先贴一下两者的概念:
JavaBean就是一种Java组件技术。Java的作用是向用户提供实现特定逻辑的方法接口,而具体的实现封装在组件的内部,不同的用户根据具体的应用情况使用该组建的部分或者全部控制逻辑。
广义的JavaBean是指普通的Java类;狭义的JavaBean是指严格按照JavaBean规范编写的Java类。
在书上有这样一句话:JavaBean的一个最重要的应用就是将数据库查询的代码从JSP中移到JavaBean中。通常将该类叫做DAO类。
通常情况下可以将VO(Value Object)配合DAO来使用,在DAO中查询到一条记录就可以封装为VO中的一个类。
对于实体的类,如Student类,我对于它的称呼有时候是bean,有时候是vo,这让我很摸不到头脑。
经过上网查询,也没有一篇博客能说清,那我就发表一下我的观点吧。
我认为JavaBean本质上来说,是一种** Java类的编写规范 **,只要是符合的Java类,都能称之为JavaBean(包括DAO,VO)。
而DAO(Data Access Object)和VO(Value Object)是特殊的JavaBean,比如 DAO类实现的就是数据库的相关操作,VO类就是面向对象编程中的“对象”类。
综上所述,形如Student类这样的,叫bean或者vo都行。如果有大佬觉得有错误,请纠正!
原文:https://www.cnblogs.com/AllenMi/p/14076402.html