文章目录
会根据自己的认知的进步,不间断的更新,欢迎大家给予宝贵建议
Spring的轻量级
在学习Spring的时候,提到了Spring相对于其它IOC容器来说,是非常轻量级的,Spring的基础版本大小不到2Mb。特别是在和EJB容器做对比的时候,更是显著。学到这里的时候,不了解EJB容器是什么?所以以此来学习下EJB是什么?从而能够了解到Spring的轻量级这方面的优势。
- 在Intellij idea 用jboss + ejb 来搭建了一个HelloWorld工程,目前是没有看出什么差异来。在看到其它关于EJB的文章的时候,发现EJB框架对比Spring来说,兼容性并不好,她有自己的一套严格的标准,而Spring能够集成现有的很多流行框架。
基于POJO
基于POJO? 那就先来看看POJO是什么?以及POJO的好处
- 什么是POJO?一个Java Object,没有实现或者集成其它接口和类的Java Object,例如下面这个就不是POJO:
class MyServlet extends HttpServlet {}
class MyRemote implements SessionBean {}
- POJO和JavaBean从严格的定义上来说在于:JavaBean实现了Serializable接口,并且有一个无参构造器,所以从从属关系上来说,POJO是JavaBean,但是JavaBean不是POJO
- 个人对于使用POJO的好处的总结:
- 封装性:POJO强调了用Java对象来封装业务数据
- 后期可维护性:getter and setter:POJO的标准在于强调了类中的属性必须是私有的,公有方法来设置其中的属性。其好处在于,假设这个类是公有的(例如这个类的声明在API当中)那好处就显而易见了,可以通过修改getter和setter的逻辑来达到操作属性的目的,这个优点是对比于直接将属性声明成public来说的(这点参考effective Java第14条)。
正是由于POJO是最简单的java类,提高了其复用性。通俗点说,就是保证了它在各个框架之间的流通性,就像是美元一样,每个国家都认同(This increases the chance that this can be reused in multiple project types (web, desktop, console etc).) - 增加安全性:假设类中的属性是一个对象,并且这是个公有类,外部代码很容易就该这个类对象的状态。那是用POJO的标准,则可以不返回这个对象,而返回其copy版本。
- 相关文章: