Spring-Spring相关术语
1.1 Spring概述
spring框架是分层的JavaSE/EEfull-stack(一站式)轻量级开源框架。本质是一个容器。
l 分层:JavaEE分层来源JavaEE规范体系结果
l 一站式:spring框架提供表现层、业务层、持久层每层的解决方案,即可以处理项目三层的功能。
但Spring本质是容器,不能处理请求,如果在容器中放置了可以处理请求的对象,Spring就可以处理请求了。Dao层同理,Spring本不具备操作数据库的能力,如果在Spring容器中放置可以操作数据库的对象,可以认为Spring能够操作数据库。
l 轻量级:相对于EJB而言
Sun公司提供EJB框架用于解决业务层问题,因为DEJB非常繁琐复杂,出现了Spring
1.2 Spring中关键词
l IOC:控制反转
IOC Inverse of Control 反转控制
以往对象的创建时由开发人员通过调用构造方法来创建;
使用Spring之后,对象的创建不在由开发人员负责,由Spring来负责创建。
对象的创建由开发人员创建反转给了程序来创建,这就是控制反转。
l DI:依赖注入
Dependency Injection 依赖注入
DI是指具体的技术
依赖注入技术 ---> 将依赖的对象注入属性中
依赖注入的实现:
构造方法
set方法
l IOC与DI的关系:
实现IOC必须依赖DI,要想由机器创建对象,必须使用依赖注入技术
l AOP:面向切面编程
l applicationContext接口与BeanFactory接口
applicationContext接口:我们目前使用的接口,Spring的后代容器接口,功能更为强大;管理对象时,创建容器容器是会将所有容器中的对象创建,在资源较为充裕的环境使用。
BeanFactory接口:Spring的早期容器接口。Spring容器的第一代接口,功能较为简单。管理对象时,容器创建时,不会创建任何容器中的对象,当获得对象时才会创建对象。该接口在资源匮乏的环境使用。
1.3 Spring框架的由来
2002年J2SE设计开发编程指南,EJB非常盛行
2004年J2SE开发摒弃EJB,Spring出现为了解决EJB的复杂性,核心轻量级容器与控制反转
1.4 Spring框架的优点
l 方便解耦,简化开发
Spring就是一个大的工厂,可以将所有的对象创建和依赖关系维护,交给Spring管理
l AOP编程支持
Spring提供了面向切面编程,可以方便的实现对程序进行拦截、运行监控等功能
l 声明式事务的支持
只需要通过配置就可以完成对事务的管理,而无需手动编程
l 方便程序测试
Spring对Junit4支持,可以通过主机方便测试Spring程序
l 方便集成各种优秀框架
Spring不排斥各种有哦秀的开源框架,其内部提供了对各种优秀框架(如Struts2、Hibernate、MyBatis、Quarz等)的直接支持
l 降低JavaEE API的使用难度
Spring对JavaEE开发中非诚难用的一些API(JDBC、JavaMail、远程调用等),都提供了封装,使这些API应用难度大大降低。