当前位置: 首页 > news >正文

建设银行网站会员成品视频直播软件推荐哪个好用

建设银行网站会员,成品视频直播软件推荐哪个好用,wordpress 谷歌搜索结果,广东建设信息网行业服务版官网前言#xff1a; 在Java开发中经常遇到这些概念问题#xff0c;有的可能理解混淆#xff0c;有的可能理解不到位#xff0c;特此花了很多时间理顺了这些概念。不过有些概念实际开发中并没有使用到#xff0c;可能理解还不够准确#xff0c;只能靠后续不断纠正了。 1、什么…前言 在Java开发中经常遇到这些概念问题有的可能理解混淆有的可能理解不到位特此花了很多时间理顺了这些概念。不过有些概念实际开发中并没有使用到可能理解还不够准确只能靠后续不断纠正了。 1、什么是POJO POJOPlain Old Java Object这种叫法是Martin Fowler、Rebecca Parsons和Josh MacKenzie在2000年的一次演讲的时候提出来的。 按照Martin Fowler的解释是“Plain Old Java Object”从字面上翻译为“纯洁老式的Java对象”但大家都使用“简单java对象”来称呼它。POJO的内在含义是指那些没有继承任何类、也没有实现任何接口更没有被其它框架侵入的java对象。 先给一个定义吧: POJO是一个简单的、普通Java对象它包含业务逻辑处理或持久化逻辑等但不是JavaBean、EntityBean等不具有任何特殊角色不继承或不实现任何其它Java框架的类或接口。 可以包含类似与JavaBean属性和对属性访问的setter和getter方法的。 POJO(Plain Old Java Object)这个名字用来强调它是一个普通Java对象而不是一个特殊的对象。 2005年11月时“POJO”主要用来指代那些没用遵从特定的Java对象模型、约定或框架如EJB的Java对象。 理想地讲一个POJO是一个不受任何限制的Java对象除了Java语言规范。 例如一个POJO不应该是 1. 扩展预定的类如         public class Foo extends javax.servlet.http.HttpServlet { ... 2. 实现预定的接口如         public class Bar implements javax.ejb.EntityBean { ... 3. 包含预定的标注如         javax.ejb.Entity public class Baz{ ... 然后因为技术上的困难及其他原因许多兼容POJO风格的软件产品或框架事实上仍然要求使用预定的标注譬如用于更方便的持久化。 一般在web应用程序中建立一个数据库的映射对象时我们只能称它为POJO。 正确官方理解思路 我在做Java EE培训中发现我的很多学生问我什么是POJO后来我在写书的时候发现POJO这个概念无法回避。现在网上对于POJO的解释很多但是很多都是有错误的或者不够准确。 对此我一开始也是存在误区的我原来是这样理解的 POJO是这样的一种“纯粹的”JavaBean在它里面除了JavaBean规范的方法和属性没有别的东西即private属性以及对这个属性方法的public的get和set方法。我们会发现这样的JavaBean很“单纯”它只能装载数据作为数据存储的载体而不具有业务逻辑处理的能力。所以下面的代码被认为是POJO了。  package com.demo.spring;public class DbHello implements Hello { //实现了接口就不能称之为POJO这已经不是简单的Java类了private DictionaryDAO dao;public void setDao(DictionaryDAO dao) {this.dao dao;}} 其实这样的认为是错误的我仔细阅读了《POJOs in Action》这本书的有关部分和POJO的最原始的出处http://martinfowler.com/bliki/POJO.htmlThe term was coined while Rebecca Parsons, Josh MacKenzie and I were preparing for a talk at a conference in September 2000. In the talk we were pointing out the many benefits of encoding business logic into regular java objects rather than using Entity Beans.We wondered why people were so against using regular objects in their systems and concluded that it was because simple objects lacked a fancy name. So we gave them one, and its caught on very nicely.   基本的意思是将业务逻辑写进规则的Java对象regular java objects中比使用Entity Beans更有好处。另外我们要给具有业务逻辑处理的规则的Java对象regular java objects起了一个名字——POJO这些Java对象不是EntityBeansEJB规范中专门用于封装数据库访问的一种组件以面向对象的方式进行数据库的访问。 我又在http://www.webopedia.com/TERM/P/POJO.htm查到解释如下 POJO, or Plain Old Java Object, is a normal Java object class (that is, not a JavaBean, EntityBean etc.)  and does not serve any other special role nor does it implement any special interfaces of any of the Java frameworks. This term was coined by Martin Fowler, Rebbecca Parsons and Josh MacKenzie who believed that by creating the acronym POJO, such objects would have a fancy name, thereby convincing people that they were worthy of use. 基本意思是说POJO一个普通的Java对象不是JavaBeanEntityBean等也不担当任何的特殊的角色也不实现任何Java框架指定的接口。 我觉得上面的解释很准确POJO应该不是我们开始认为的JavaBean当然更不是EJB它不应该依赖于框架即继承或实现某些框架类或接口。总之POJO就是一个很简单的Java类没那么多复杂的东西。 例如Struts1中的Action和ActionForm当然不属于POJO了而在Struts2中的Action由于可以不继承任何的接口所以在这种情况下Action是POJO但是Struts2中的Action也可以继承ActionSupport类就不再属于POJO了。 POJO里面是可以包含业务逻辑处理和持久化逻辑也可以包含类似与JavaBean属性和对属性访问的set和get方法的。 最后我们总结一下给一个定义吧POJO是一个简单的、普通Java对象它包含业务逻辑处理或持久化逻辑等但不是JavaBean、EntityBean等不具有任何特殊角色不继承或不实现任何其它Java框架的类或接口。 POJO例子 package com.demo.spring;public class DbHello { //简单的Java类称之为POJO不继承不实现接口private DictionaryDAO dao;public void setDao(DictionaryDAO dao) {this.dao dao;}} 辅助理解 POJO可以认为是一个中间对象一个中间对象可以转化为PO、DTO、VO。 1 POJO持久化之后〉PO在运行期由Hibernate中的cglib动态把POJO转换为POPO相对于POJO会增加一些用来管理数据库entity状态的属性和方法。PO对于programmer来说完全透明由于是运行期生成PO所以可以支持增量编译增量调试。 2 POJO传输过程中〉DTO 3 POJO用作表示层〉VO 2、什么是JavaBean JavaBean实际上是指一种特殊的Java类它通常用来实现一些比较常用的简单功能并可以很容易的被重用或者是插入其他应用程序中去。所有遵循“一定编程原则”的Java类都可以被称作JavaBean。 JavaBean是一个遵循特定写法的Java类是一种Java语言编写的可重用组件它的方法命名构造及行为必须符合特定的约定 这个类必须具有一个公共的(public)无参构造函数所有属性私有化private私有化的属性必须通过public类型的方法getter和setter暴露给其他程序并且方法的命名也必须遵循一定的命名规范。 这个类应是可序列化的。比如可以实现Serializable 接口用于实现bean的持久性JavaBean在Java EE开发中通常用于封装数据对于遵循以上写法的JavaBean组件其它程序可以通过反射技术实例化JavaBean对象内省机制并且通过反射那些遵循命名规范的方法从而获知JavaBean的属性进而调用其属性保存数据。 因为这些要求主要是靠约定而不是靠实现接口所以许多开发者把JavaBean看作遵从特定命名约定的POJO。可以这么理解POJO按JavaBean的规则来就可以变成JavaBean。 简而言之当一个POJO可序列化有一个无参的构造函数使用getter和setter方法来访问属性时他就是一个JavaBean。没毛病 JavaBean是一种组件技术就好像你做了一个扳手而这个扳手会在很多地方被拿去用这个扳子也提供多种功能(你可以拿这个扳手扳、锤、撬等等)而这个扳手就是一个组件。 对于JavaBean就是一个Java模型组件他为使用Java类提供了一种标准的格式在用户程序和可视化管理工具中可以自动获得这种具有标准格式的类的信息并能够创建和管理这些类。 JavaBean可以使应用程序更加面向对象可以把数据封装起来把应用的业务逻辑和显示逻辑分离开降低了开发的复杂程度和维护成本JavaBean 是一种JAVA语言写成的可重用组件。为写成JavaBean类必须是具体的和公共的并且具有无参数的构造器。JavaBeans 通过提供符合一致性设计模式的公共方法将内部域暴露称为属性。众所周知属性名称符合这种模式其他Java 类可以通过内省机制发现和操作这些JavaBean 属性。 通常情况下由于 Java Bean 是被容器所创建如 Tomcat) 的所以 Java Bean 应具有一个无参的构造器另外通常 Java Bean 还要实现 Serializable 接口用于实现 Bean 的持久性。 Java Bean 是不能被跨进程访问的。 JavaBean 是使用 java.beans 包开发的它是 Java 2 标准版的一部分。JavaBean 是一台机器上同一个地址空间中运行的组件。JavaBean 是进程内组件。3、什么是Bean Bean的中文含义是“豆子”Bean的含义是可重复使用的Java组件。所谓组件就是一个由可以自行进行内部管理的一个或几个类所组成、外界不了解其内部信息和运行方式的群体。使用它的对象只能通过接口来操作。 Bean并不需要继承特别的基类(BaseClass)或实现特定的接口(Interface)。Bean的编写规范使Bean的容器(Container)能够分析一个Java类文件并将其方法(Methods)翻译成属性(Properties)即把Java类作为一个Bean类使用。Bean的编写规范包括Bean类的构造方法、定义属性和访问方法编写规则。 Java Bean是基于Java的组件模型由属性、方法和事件3部分组成。在该模型中JavaBean可以被修改或与其他组件结合以生成新组件或完整的程序。它是一种Java类通过封装成为具有某种功能或者处理某个业务的对象。因此也可以通过嵌在JSP页面内的Java代码访问Bean及其属性。 4、什么是EJB 、Entity Bean Enterprise Bean也就是Enterprise JavaBeanEJB是J2EE的一部分定义了一个用于开发基于组件的企业多重应用程序的标准。其特点包括网络服务支持和核心开发工具(SDK)。 在J2EE里Enterprise Java Beans(EJB)称为Java 企业Bean是Java的核心代码分别是会话 BeanSession Bean实体BeanEntity Bean和消息驱动BeanMessageDriven Bean。  1、Session Bean用于实现业务逻辑它可以是有状态的也可以是无状态的。每当客户端请求时容器就会选择一个Session Bean来为客户端服务。Session Bean可以直接访问数据库但更多时候它会通过Entity Bean实现数据访问。 这个类一般用单例模式来实现因为每次连接都需要用到它。 2、Entity Bean是域模型对象用于实现O/R映射负责将数据库中的表记录映射为内存中的Entity对象事实上创建一个Entity Bean对象相当于新建一条记录删除一个 Entity Bean会同时从数据库中删除对应记录修改一个Entity Bean时容器会自动将Entity Bean的状态和数据库同步。  Enterprise Bean 是使用 javax.ejb 包开发的它是标准JDK的扩展是 Java 2 Enterprise Edition 的一部分。Enterprise Bean 是在多台机器上跨几个地址空间运行的组件。因此 Enterprise Bean 是进程间组件。 我们一般所熟悉的tomcat仅仅只实现了J2EE的一小部分规范它只是一个serlvet的容器Web容器它不能跑J2EE的程序EJB说到底也是种规范它是j2EE下面的一个子分类核心类所以j2ee包含EJB同时我们都可以说JBOSSWeblogicWebSphere是J2EE容器也可以叫EJB容器。因为它们能跑EJB组件。那么什么是EJB组件呢其实就是java写出来的一段程序被打包成EAR包这个EAR包放在某个EJB的容器的特定目录下启动就可以跑了。类似于互联网公司经常使用的WAR包部署在tomcat上。 然后要说的是EJB是一种是很老、很繁琐的技术标准规范了现如今基本已经被淘汰了。因为EJB的繁琐、难用Spring的出现彻底革了EJB的命不然怎么说是Java的春天spring来了呢。 EJB实现原理 就是把原来放到客户端实现的代码放到服务器端并依靠RMI进行通信。 这篇博文对EJB的原理和实质的解释非常清晰  http://blog.csdn.net/jojo52013145/article/details/5783677 5、什么是PO PO Persistent Object持久对象。 O/R Mapping 是 Object Relational Mapping对象关系映射的缩写。通俗点讲就是将对象与关系数据库绑定用对象来表示关系数据。 PO是在O/R映射的时候出现的概念如果没有O/R映射没有这个概念存在了。常用的O/R映射框架有hibernate等。通常对应数据模型(数据库)本身还有部分业务逻辑的处理。可以看成是与数据库中的表相映射的java对象。最简单的PO就是对应数据库中某个表中的一条记录多个记录可以用PO的集合。PO中应该不包含任何对数据库的操作。 1、有时也被称为Data对象对应数据库中的entity可以简单认为一个PO对应数据库中的一条记录。 2、在hibernate持久化框架中与insert/delet操作密切相关。 3、PO中不应该包含任何对数据库的操作。 4、PO的属性是跟数据库表的字段一一对应的。 5、PO对象需要实现序列化接口。 就是说在一些Object/Relation Mapping工具中能够做到维护数据库表记录的persisent object完全是一个符合Java Bean规范的纯Java对象没有增加别的属性和方法。全都是这样子的  public class User {private long id;private String name;public void setId(long id) {this.id  id;}public void setName(String name) {this.name  name;}public long getId() {return id;}public String getName() {return name;}} 6、什么是DTO DTO TO Data Transfer Object 数据传输对象。 主要用于远程调用等需要大量传输对象的地方。 可以将PO中的部分属性抽取出来就形成了DTO。 比如我们一张表有100个字段那么对应的PO就有100个属性。 但是我们界面上只要显示10个字段客户端用WEB service来获取数据没有必要把整个PO对象传递到客户端这时我们就可以用只有这10个属性的DTO来传递结果到客户端这样也不会暴露服务端表结构.到达客户端以后如果用这个对象来对应界面显示那此时它的身份就转为VOView Object。 用在需要跨进程或远程传输时它不应该包含业务逻辑。 比如一张表有100个字段那么对应的PO就有100个属性大多数情况下DTO 内的数据来自多个表。但view层只需显示10个字段没有必要把整个PO对象传递到client这时我们就可以用只有这10个属性的DTO来传输数据到client这样也不会暴露server端表结构。到达客户端以后如果用这个对象来对应界面显示那此时它的身份就转为VOView Object。 7、什么是VO VO Value Object 值对象 / View Object 表现层视图对象。 先说 value object 值对象 通常用于业务层之间的数据传递和PO一样也是仅仅包含数据而已。但应是抽象出的业务对象可以和表对应也可以不这根据业务的需要。个人觉得同DTO(数据传输对象)在web上传递。 ①VOvalue object是值对象精确点讲它是业务对象是存活在业务层的是业务逻辑使用的它存活的目的就是为数据提供一个生存的地方。VO的属性是根据当前业务的不同而不同的也就是说它的每一个属性都一一对应当前业务逻辑所需要的数据的名称。 VO是什么它是值对象准确地讲它是业务对象是生活在业务层的是业务逻辑需要了解需要使用的再简单地讲它是概念模型转换得到的。  首先说PO和VO吧它们的关系应该是相互独立的一个VO可以只是PO的部分也可以是多个PO构成同样也可以等同于一个PO当然我是指他们的属性。正因为这样PO独立出来数据持久层也就独立出来了它不会受到任何业务的干涉。又正因为这样业务逻辑层也独立开来它不会受到数据持久层的影响业务层关心的只是业务逻辑的处理至于怎么存怎么读交给别人吧不过另外一点如果我们没有使用数据持久层或者说没有使用hibernate那么PO和VO也可以是同一个东西虽然这并不好。 ② VOview object表现层对象视图对象。 用一个VO对象对应整个界面的值。 1、主要对应页面显示web页面/swt、swing界面的数据对象。 2、可以和表对应也可以不这根据业务的需要。 注 在struts中用ActionForm做VO需要做一个转换因为PO是面向对象的而ActionForm是和view对应的要将几个PO要显示的属性合成一个ActionForm可以使用BeanUtils的copy方法。 8、什么是DAO DAO Data Access Object 数据访问对象。 这个大家最熟悉和上面几个O区别最大基本没有互相转化的可能性和必要。主要用来封装对数据库的访问。通过它可以把POJO持久化为PO用PO组装出来VO、DTO。 是一个Sun的一个标准J2EE设计模式这个模式中有个接口就是DAO它负持久层的操作。为业务层提供接口。此对象用于访问数据库。通常和PO结合使用DAO中包含了各种数据库的操作方法。通过它的方法结合PO对数据库进行相关的操作。夹在业务逻辑与数据库资源中间。配合VO提供数据库的CRUD操作... 1、主要用来封装对DB数据库的访问CRUD操作。 2、通过接收业务层的数据把POJO持久化为PO。 9、什么是BO JavaBean是一种组件技术就好像你做了一个扳手而这个扳手会在很多地方被拿去用这个扳子也提供多种功能(你可以拿这个扳手扳、锤、撬等等)而这个扳手就是一个组件。 BO Business Object 业务对象。 主要作用是把业务逻辑封装为一个对象。这个对象可以包括一个或多个其它的对象。 比如一个简历有教育经历、工作经历、社会关系等等。 我们可以把教育经历对应一个PO工作经历对应一个PO社会关系对应一个PO。 建立一个对应简历的BO对象处理简历每个BO包含这些PO。 这样处理业务逻辑时我们就可以针对BO去处理。 封装业务逻辑的java对象通过调用DAO方法结合POVO进行业务操作。 封装业务逻辑为一个对象可以包括多个PO通常需要将BO转化成PO才能进行数据的持久化反之从数据库中得到的PO需要转化成BO才能在业务层使用。 关于BO主要有三种概念 1 、只包含业务对象的属性 2 、只包含业务方法 3 、两者都包含。 在实际使用中认为哪一种概念正确并不重要关键是实际应用中适合自己项目的需要。 --------------------- 作者有范管理美学 来源CSDN 原文https://blog.csdn.net/chenchunlin526/article/details/69939337 版权声明本文为作者原创文章转载请附上博文链接 内容解析ByCSDN,CNBLOG博客文章一键转载插件
http://www.pierceye.com/news/698453/

相关文章:

  • 上海正规建设网站私人订制网站建设中 显示
  • 网站建设广告宣传素材论坛网站制作教程
  • 苏州怎么做网站如何做公司自己的网站
  • 网站内容通过服务器会不会被更改旅游网站建设流程是什么意思
  • 建立中文网站的英文免费网站空间
  • 外国人做家具的网站免费自己做网站软件
  • 品牌网站建设毛尖2新加坡二手手机网站大全
  • 服装集团网站建设wordpress rss格式
  • 如何进行网站分析设计说明的英文
  • 仕德伟做的网站图片怎么修做网站深圳
  • 六安电商网站建设哪家好中国电力工程造价信息网
  • 如何做优化网站排alexa优化装修网线
  • 现在视频做网站晚了吗做网站的论文摘要
  • 环保公司网站模板那个公司可以做网站
  • 英雄联盟网站源码开发设计公司
  • 企业形象网站开发名师工作室网站建设
  • o2o网站建设最好公司排名做竹鼠网站
  • 免费做网站软件2003商丘网络营销服务
  • 杭州网站建设加q479185700如何网上外贸接单
  • 针对茅台酒企业网站建设方案鸿基建设工程有限公司网站
  • 有创意营销型网站建设wordpress 慢集市
  • 注册网站多少钱永康电子商务网站建设
  • 江西省网站建设庆阳在线网
  • wordpress建站微信联系智慧政务网站怎么做
  • 邯郸购物网站建设电子商务是干什么的工作
  • 网站开发竞聘报告wordpress彩色标签云设置方法
  • 深圳高端网站建设收费宿州百度seo排名软件
  • 彩妆网站建设报告公司网页是什么
  • 站长之家综合查询工具广州网站网站建设
  • 网站开发如何实现数据库的链接同性性做视频网站