Spring入门(一):POJO编程模型、轻量级容器、控制反转,springpojo
Spring入门(一):POJO编程模型、轻量级容器、控制反转,springpojo
主要内容:
主要知识点:
POJO
IoC
Lightweight Container
J2EE\Java EE :
J2EE:Java 2 Enterprise Edition
Java EE :Java Enterprise Edition(java5 发布之后的新名称)
POJO:
Plain Old Java Object.意为“简单的java对象”。
EJB:Enterprise JavaBean
POJO代表了一种编程趋势,旨在简化java应用程序的开发。
在POJO之前,使用EJB编程模型。EJB于1997年提出,在当时是J2EE规范中的主要规范。但是由于EJB模型也有缺陷:1)开发人员的代码和EJB框架包的接口类之间紧耦合。2)EJB2.x还要求实现几个不必要的回调方法。3)可测试性很差。4)部署耗时且易出错。5)将开发人员转向过程程序设计风格。后来的EJB3和EJB3.1规范中引入了POJO编程模型,基本解决了上述问题。
Java持久化API =Java Persistence API = JPA
POJO编程模型的优点:使编写应用程序类非续航快速和简单。
因为:1)所编写的类不需要依赖任何特定API,不需要实现任何接口,不需要创建任何新的回调方法;2)不需要为了通过网络传输数据而创建单独的数据传输对象类。(POJO的类不基于任何API,所以可以非常简单通过地通过网络进行传输并在不同层之间使用)3)部署周期很短(因为可以通过JUnit在所喜欢的IDE中测试)4)使开发人员面向对象。
轻量级容器:
容器:相当于环境,并且在该环境中,所有组件都已经创建和装配,且提供中间件服务。
轻量级容器 = lightweight container
Servlet容器:负责创建和管理应用程序Web层的组件;
EJB容器:专注于应用程序的业务层,负责管理其EJB组件;
Spring Container容器:创建、装配应用程序;
Spring Application FrameWork 是最著名的轻量级容器之一。
容器向该环境所管理的组件提供的基本服务:
生命周期管理
依赖解析
组件查找
应用程序配置
另外的中间件服务:
事务管理
安全性
线程管理
对象和资源池
对组件的远程访问
通过JMX之类的API管理组件
容器的扩展和定制
控制反转:
控制反转 = IoC = Inversion of Controll
把对依赖项的控制由组件自己转到容器。由容器来创建组件以及组件所依赖的服务,并将这些组件装配在一起。在运行时容器将依赖组件注入组件。
IoC是任何容器都要提供的服务之一。且是框架中十分重要的概念。
IoC有两种形式:依赖查找、依赖注入。
依赖注入:
依赖注入分为:setter注入和构造函数注入
setter注入:当一个对象被实例化之后就会调用setter方法。setter注入发生在组件的创建或初始化阶段,并在处理业务方法调用之前完成。setter注入最大的优点:组件创建之后可以进行重新装配。setter注入最大的缺点:并不是所有依赖都可以在使用前被注入,从而使组件处于一种部分配置的状态。
构造函数注入:利用Bean的构造函数的参数来表达依赖项。发生在组件创建期间。最大优点:1)保证容器中的每一个被管理的组件都处于一致状态,并且创建后可以马上使用。2)代码量少于setter注入。最大缺点:组件创建完毕就无法再对组件进行重新装配。
一般在应用程序中,两种注入方法是混合搭配着使用的。
相关文章
- 暂无相关文章
用户点评