(一)
以前只是跟着框架写,无心理解其他。最近接触一个项目,被规范要求使用pojo包装类,想记录一下。
找了一些博客,感觉说的都比较绕,有的还彼此冲突。当然并不是比较哪个博客优秀,相信很多人都能写一手好代码,只是对于“舶来品”的客观的编程,我们确实理解上需要解释多一点。
(二)
pojo类,有人说全名是plain ordinary java object,大多数是plain old java object。
这是我根据一个前辈提供的url找到的关于pojo的最初论述。通读下来,可了解这个acronym(简写)、term(术语)、fancy name(设想的名称/一时兴起的名称)的提出是相对于Enterprise JavaBean(EJB)、EntityBean做区别的。它最重要的概念是 “plain对象”。
POJO里面是可以包含业务逻辑处理和持久化逻辑(是支持业务逻辑的协助类),也可以包含类似与JavaBean属性和对属性访问的set和get方法的,有时可以作为VO(value -object)或dto(Data Transform Object)来使用。
但不能有业务方法,不具有任何特殊角色和不继承或不实现任何其它Java框架的类或接口。
(三)
Java Bean 是可复用的组件,对 Java Bean 并没有严格的规范,理论上讲,任何一个 Java 类都可以是一个 Bean 。
但通常情况下,由于 Java Bean 是被容器所创建(如 Tomcat) 的,所以 Java Bean 应具有一个无参的构造器,另外,通常 Java Bean 还要实现 Serializable 接口用于实现 Bean 的持久性。
Java Bean 是不能被跨进程访问的。
JavaBean是一种组件技术,一般在web应用程序中建立一个数据库的映射对象时,我们只能称它为POJO。
以上。
reference:
1.http://martinfowler.com/bliki/POJO.html
2.https://blog.csdn.net/tonny_guan/article/details/2250134
3.https://blog.csdn.net/qq_33642117/article/details/51896540
4.pojo与javabean的区别.百度文库