spring框架概述
- 1 概述
- 1.1 什么是EJB
- 1.1.1 EJB的实现技术 RMI
- 1.1.2 EJB的瓶颈
- 1.1.3 总结
- 2 发展历程
- 3 spring的优势
- 4 spring的体系结构
1 概述
- spring framework也就是常说的spring框架;
- 通过依赖注入和面向切面编程,用简单的Java对象实现EJB的功能;
- spring默认是单例的,所以最好避免使用类成员变量;
- 如果有需要,也可以通过@Scope将某个类改为多例的,但是如果A下有B,A是单例的,B的多例不会生效,依旧是单例。
1.1 什么是EJB
以前学习的时候,譬如是用myeclipse进行开发,myeclipse是一个客户端,而我们在上面编写代码,并运行。
但这样写出来的那些类,只是开发者本人可以运行使用。
于是出现了EJB,EJB是将那些 “需要执行的代码” 放到一个服务器上,客户端通过网络对服务器上的类进行调用。
1.1.1 EJB的实现技术 RMI
EJB是运行在独立服务器上的组件,通过RMI技术,可以实现客户端远程调用EJB对象。RMI是EJB的基础。
RMI 远程方法调用
RMI的本质是利用Java对象序列化的机制实现分布式计算,实现远程类对象的实例化及调用的方法。
对象序列化
- 对象的序列化过程就是将对象状态转换成字节流和从字节流恢复对象;
- 对象的序列化就是将你程序中实例化的某个类的对象,比如,你自定一个类MyClass,或者任何一个类的对象,将它转换成字节数组,也就是说可以放到一个byte 数组中,这时候,你既然已经把一个对象放到了byte数组中,那么你当然就可以随便处置了它了,用得最多的就是把他发送到网络上远程的计算机上了
分布式计算
- 说白了,就是本地计算机调用远程计算机上的一个函数
PRC:远程过程调用
- 远程调用其他机器上的程序,对用户来说就像是调用本地方法一样;
- RPC Server能够并发处理多个来自Client的请求
1.1.2 EJB的瓶颈
瓶颈在数据库端
假如分开数据库,数据共享会出问题
1.1.3 总结
- EJB实现原理: 就是把原来放到客户端实现的代码放到服务器端,并依靠RMI进行通信。
- RMI实现原理 :就是通过Java对象可序列化机制实现分布计算。
- 服务器集群: 就是通过RMI的通信,连接不同功能模块的服务器,以实现一个完整的功能。
2 发展历程
1、1997年IBM提出EJB;
2、2004年Rod Johnson提出不适用EJB的解决方式(Spring雏形)。
3 spring的优势
- 方便解耦
- AOP编程
- 声明式事务的支持
- 方便程序的测试
- 方便集成各种优秀的框架
- 降低API使用难度
4 spring的体系结构