Spring入门概念
一 spring是什么?
Spring Framework(简称Spring)是J2EE应用程序框架,不过,更严格地讲它是针对Bean的生命周期进行管理的轻量级容器(Lightweight container),可以单独利用Spring构筑应用程序,也可以和Struts,Webwork等众多Web应用程序框架组合使用,并且可以与Swing等桌面应用程序API组合。所以Spring并不仅仅只能应用在J2EE中,也可以应用在桌面应用及小应用程序中。针对Spring开发的组件不需要任何外部库。
Spring是一个开源的控制反转和面向切面的容器框架,主要目的是简化企业开发
(1)控制反转
所谓控制反转就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的。这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。
使用IOC对象是被动接受依赖的类而不是主动地去找
(2)依赖注入
所谓依赖注入就是指:在运行期,由外部容器动态地将依赖对象注入到组件中。
二 为什么要使用spring
(1)降低组件的耦合度,实现软件各层之间的解耦
(2)可以使用容器提供的众多服务
(3)容器提供单例模式支持
(4)容器提供了AOP技术(面向切面的编程),利用它很容易实现如权限拦截、运行期监等功能
(5)容器提供了众多辅助类,可加入开发 hibernateTemplate
(6)对于主流的应用框架提供了支持
(7)使用spring不需要手动控制事务,用面向切面实现,在执行的方法中会自动的执行事务
(8)不需要处理复杂的事务传播行为
(9)容器包含管理系统对象的生命周期和配置
置组合起来的
三 Spring是一个轻量级的Ioc和AOP容器框架
Struts2是轻量级的,也即是非侵入式的
对于spring容器,它提供了很多服务,但这些服务并不是默认为应用打开的,应用需要某种服务,还需要指明使用该服务,如果应用使用的服务很少,如:只使用了spring核心服务,那么我们可以认为此时应用属于轻量级的,如果应用使用了spring提供的大部分服务,这时应用就属于重量级。目前EJB容器就因为它默认为应用提供了EJB规范中所有的功能,所以它属于重量级。
spring框架使用简单组件配置组合成一个复杂的系统,系统中的对象是通过xml文件配
四 spring有7个模块
核心容器
应用上下文模块
AOP模块
JDBC和DAO
OR映射 Object Relication
Web模块
MVC框架