您的位置:首页 > 编程语言 > Java开发

Spring 学习之一(了解spring)

2017-03-11 07:42 204 查看
 
1,什么是spring框架
spring是J2EE应用程序框架,是轻量级的IoC和AOP的容器框架,主要是针对JavaBean的生命周期进行管理的轻量级容器,可以单独使用,也可以和Struts框架,ibatis框架等组合使用
 
Struts   MVC   表示层

Spring   IOC(DI),AOP 

Hibernate  ORM(对象-关系映射) 持久化层(数据处理层)     

 

SSH称为轻量级框架。轻量级参考物,之前我们使用的技术为EJB,EJB是重量级框架(占用资

源多,复杂,运行需要ejb服务器的支持).ssh 具备EJB的大部分功能,我们把他们称为轻量

级框架(占用资源少,运行不需要服务器支持).
 
2,SPRING组成



 
Struts     表示层 MVC   

Spring     业务逻辑层  IOC(DI),AOP
Hibernate  持久化层(数据处理层) ORM(对象-关系映射)     

Spring框架本身功能很强大,我们平时做项目主要是使用spring的IOC与AOP完成业务层

功能.但spring其实提供了所有层功能实现.比如表示层,我们可以选择使用

springMVC,springMVC完成的功能与struts一样.比如开发持久化层也可以选择

springDAO,SpringDAO的功能与hibernate类似.

表示层  SpringMVC
业务层  IOC,AOP, MVC(SpringMVC) ORM(SpringDAO)

持久化层 SpringDAO

就是说开发一个项目,使用spring一个框架就可以了.只不过表示层一般我们不适用

springMVC而使用struts,持久化层我们不适用springDAO而使用Hibernate.但我们要知道

spring提供了完整的实现.

SpringCore  这是spring的根基,其实这个core就是实现了ioc(DI).不管你使用上面的那

个功能, SpringCore必须使用.

SpringAOP  spring的面向方面编程.

SpringDAO  类似与hibernate的持久化层实现

SpringORM 当spring与hibernate整合时,需要使用此部分功能

SpringWebMVC 类似与struts的表示层实现.

SpringWeb 如果我们项目需要与Struts整合,我们需要使用SpringWeb

SpringContext 如果项目需要与EJB重量级框架整合,需要使用SpringContext
IOC(控制反转)

IOC 与DI 是从两个角度描述同一个事务.

IOC是Inverse Of Control的简写,叫控制反转

第一代:自己创建,自己使用.客户端的主要目的是使用,但却好耗费很大的精力来创建.

第二代:工厂方法,工厂方法分离对象的创建与使用,工厂负责创建,客户端只负责使用.

第三代:对象内部只声明接口,不创建,由容器负责创建并赋值.
控制反转:控制就是控制权,反转就是反过来更改.原来不管是自己创建对象还是由工厂类创建

对象,使用那个对象由应用程序决定.也就是说在程序运行前我们就知道是那个具体的实现类

在运行.现在客户端中只声明接口,并没有实际的实现类.程序运行使用那个对象在spring 配

置文件中进行配置,控制权由应用程序转移给spring 配置文件(spring 容器,IOC 容器),这叫

控制反转.

区别:传统的,程序运行前就知道那个具体的实现类在运行.现在,程序运行前并不知道那个具

体类在运行,只有程序真正运行到对应代码时才知道是那个具体的运行类.
控制,指的控制权,使用哪个对象,不管是自己创建,还是去工厂领一个,以前项目,使用

哪个对象由程序决定,控制权在应用程序手中。使用spring 后,程序中并没有写明创建哪

个对象,使用对象是由配置文件(容器)决定的,这就是控制反转。

DI(依赖注入)

IOC 与DI 是从两个角度描述同一个事务.

DI是Dependency Injection的简写,叫依赖注入

程序中定义接口,程序运行需要实现类,这个实现类不是在编译阶段决定的,而是在程序运行

过程中由容器注入的,我们叫依赖注入。

传统应用程序在编译阶段就知道了程序的运行轨迹(使用哪个对象,运行哪个对象),使用容器

后,在程序运行阶段时才知道使用哪个对象。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: