宁波网站建设设计,wordpress文库,阿里云商业网站建设视频,godaddy做网站POJO#xff08;pure old java object#xff09; 是普通java类#xff0c;有一些private的参数作为对象的属性#xff0c;然后针对每一个参数定义get和set方法访问的接口。我看到这个定义#xff0c;心里就有个疑问了#xff0c;这个POJO跟JavaBean的定义怎么就这么像pure old java object 是普通java类有一些private的参数作为对象的属性然后针对每一个参数定义get和set方法访问的接口。我看到这个定义心里就有个疑问了这个POJO跟JavaBean的定义怎么就这么像两者有什么区别POJO其实是比javabean更纯净的简单类或接口。POJO严格地遵守简单对象的概念而一些JavaBean中往往会封装一些简单逻辑。 JavaBean是一种JAVA语言写成的可重用组件。它的方法命名构造及行为必须符合特定的约定1这个类必须有一个公共的缺省构造函数。2这个类的属性使用getter和setter来访问其他方法遵从标准命名规范。3这个类应是可序列化的。简而言之当一个POJO可序列化有一个无参的构造函数使用getter和setter方法来访问属性时它就是一个JavaBean。 可能有些人不明白什么是可序列化可以看我另一篇博客http://my.oschina.net/pacoyang/blog/151649 DAOdata access objectsDAO是数据访问对象DAO一般有接口和该接口的实现类接口用于规范实现类。实现类一般用于操作数据库如对数据库进行修改、添加、删除等操作一般直接调用公共类DAO。 什么是DTOdata transfer object、什么是VOvalue object、什么是POpersistent object我们通过DAO将POJO持久化为PO用PO组装出来VO、DTO。 总结下我认为一个对象究竟是什么O要看具体环境在不同的层、不同的应用场合对象的身份也不一样而且对象身份的转化也是很自然的。就像你对老婆来说就是老公对父母来说就是子女。设计这些概念的初衷不是为了唬人而是为了更好的理解和处理各种逻辑让大家能更好的去用面向对象的方式处理问题。 比如我们一张表有100个字段那么对应的PO就有100个属性。但是我们界面上只要显示10个字段客户端用WEBservice来获取数据没有必要把整个PO对象传递到客户端这时我们就可以用只有这10个属性的DTO来传递结果到客户端这样也不会暴露服务端表结构.到达客户端以后如果用这个对象来对应界面显示那此时它的身份就转为VO。 什么是BObusiness object BO: POJO在业务层的体现对于业务操作来说更多的是从业务上来包装对象如一个User的BO可能包括name, age, sex, privilege, group等这些属性在数据库中可能会在多张表中因为每一张表对应一个PO而我们的BO需要这些PO组合起来(或说重新拼装)才能成为业务上的一个完整对象。 EJB EJB(Enterprise JavaBean): 我认为它是一组功能JavaBean的集合。上面说了JavaBean是实现了一种规范的Java对象。这里说EJB是一组JavaBean的意思是这一组JavaBean组合起来实现了某个企业组的业务逻辑。这里的一组JavaBean不是乱组合的它们要满足能实现某项业务功能的搭配。找个比方对于一身穿着来说包括一顶帽子一件衣服一条裤子两只鞋。这穿着就是EJB其它的就是一个JavaBean SSH与EJB区别 EJB是一种javabean的组合规范SSH是3个框架jar包的组合。 EJB本身是JavaEE的规范由容器厂商负责实现也就是使用EJB需要使用JavaEE服务器。而用SSH直接用Web服务器SSH中要解决的目标和EJB是一致的。EJB是大型的SSH是轻量级的。 原文地址http://my.oschina.net/pacoyang/blog/151695转载于:https://www.cnblogs.com/JCYH/p/4833858.html