Spring-Spring相关术语

1.1 Spring概述

spring框架是分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。本质是一个容器。

分层:JavaEE分层来源JavaEE规范体系结果

一站式:spring框架提供表现层、业务层、持久层每层的解决方案,即可以处理项目三层的功能。

Spring本质是容器,不能处理请求,如果在容器中放置了可以处理请求的对象,Spring就可以处理请求了。Dao层同理,Spring本不具备操作数据库的能力,如果在Spring容器中放置可以操作数据库的对象,可以认为Spring能够操作数据库。

轻量级:相对于EJB而言

Sun公司提供EJB框架用于解决业务层问题,因为DEJB非常繁琐复杂,出现了Spring

1.2 Spring中关键词

IOC:控制反转

IOC Inverse of Control 反转控制

以往对象的创建时由开发人员通过调用构造方法来创建;

使用Spring之后,对象的创建不在由开发人员负责,由Spring来负责创建。

对象的创建由开发人员创建反转给了程序来创建,这就是控制反转。

DI:依赖注入

Dependency Injection 依赖注入

DI是指具体的技术

依赖注入技术  --->  将依赖的对象注入属性中

依赖注入的实现:

构造方法

set方法

IOCDI的关系:

实现IOC必须依赖DI,要想由机器创建对象,必须使用依赖注入技术

AOP:面向切面编程

applicationContext接口与BeanFactory接口

applicationContext接口:我们目前使用的接口,Spring的后代容器接口,功能更为强大;管理对象时,创建容器容器是会将所有容器中的对象创建,在资源较为充裕的环境使用。

BeanFactory接口:Spring的早期容器接口。Spring容器的第一代接口,功能较为简单。管理对象时,容器创建时,不会创建任何容器中的对象,当获得对象时才会创建对象。该接口在资源匮乏的环境使用。

 

 

1.3 Spring框架的由来

2002J2SE设计开发编程指南,EJB非常盛行

2004J2SE开发摒弃EJBSpring出现为了解决EJB的复杂性,核心轻量级容器与控制反转

1.4 Spring框架的优点

方便解耦,简化开发

Spring就是一个大的工厂,可以将所有的对象创建和依赖关系维护,交给Spring管理

AOP编程支持

Spring提供了面向切面编程,可以方便的实现对程序进行拦截、运行监控等功能

声明式事务的支持

只需要通过配置就可以完成对事务的管理,而无需手动编程

方便程序测试

SpringJunit4支持,可以通过主机方便测试Spring程序

方便集成各种优秀框架

Spring不排斥各种有哦秀的开源框架,其内部提供了对各种优秀框架(如Struts2HibernateMyBatisQuarz等)的直接支持

降低JavaEE API的使用难度

SpringJavaEE开发中非诚难用的一些APIJDBCJavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低。