Spring是什么
Spring是一个控制反转和面向切面的容器框架
Spring的主要模块
1、Core
Core模块是Spring的核心类库,Core实现了IOC功能。
2、AOP
Apring AOP模块是Spring的AOP库,提供了AOP(拦截器)机制,并提供常见的拦截器,供用户自定义和配置。
3、orm
提供对常用ORM框架的管理和支持,hibernate、mybatis等。
4、Dao
Spring提供对JDBC的支持,对JDBC进行封装。
5、Web
对Struts2的支持。
6、Context
Context模块提供框架式的Bean的访问方式,其它程序可以通过Context访问Spring的Bean资源,相当于资源注入。
7、MVC
MVC模块为spring提供了一套轻量级的MVC实现,即Spring MVC
Spring 框架的好处
1、轻量级框架、容器
Spring是一个容器,管理对象的生命周期和配置。基于一个可配置原型prototype,你的bean可以使单利的,也可以每次需要时都生成一个新的实例
2、控制反转IOC
Spring通过控制反转实现松耦合
3、支持AOP
Spring提供对AOP的支持,它允许将一些通用任务,如安全、事务、日志等进行集中式处理,从而提高了程序的复用性
4、轻量级框架
5、方便测试
Spring提供Junit4的支持,可以通过注解方便测试spring程序
6、对Java中很多API进行了封装
7、方便集成各种优秀框架
如Struts、hibernate、mybstis
8、支持声明式事务处理
只需通过配置就可以完成对事务的管理,而无须手动编程
控制反转(IOC)和依赖注入
借助Spring实现具有依赖关系的对象之间的解耦
对象A运行需要对象B,由主动创建变为IOC容器注入,这便是控制反转
获得依赖对象的过程被反转了,获取依赖对象的过程由自身创建变为由IOC容器注入,这便是依赖注入