Spring是一个轻量级控制反转(IoC)和面向切面(AOP)的容器框架。Spring能够为struts和hibernate提供管理。spring框架的一大优点是模块化设计,每个模块能独立完成工作,也可以独立运行。
Spring ORM:Spring 框架插入了若干个 ORM 框架,从而提供了 ORM 的对象关系工具,其中包括 JDO、hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。
Spring Web 模块:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理 多部分请求以及将请求参数绑定到域对象的工作。
Spring MVC 框架:MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。Spring AOP 采用了面向切面的编程思想,使spring框架管理的对象支持AOP,同时这个模块也支持事务管理,不依赖具体EJB的组件,可以将事务集成到应用程序当中去。
Spring Core Spring框架的核心容器,提供了Spring框架的基本功能,包含BeanFactory,使用工厂模式创建所需对象。
Spring DAO 提供对具体数据访问对象的支持,实现业务逻辑与数据访问代码的分离。
Spring Context 提供spring上下文环境,为开发人员提供国际化、JNDI访问等服务。
在Spring一加载的阶段就实例化、和初始化(注入值的话)在Spring配置文件中的多个java类。等待用户的调用,用服务器端的缓存消耗换取客户端的快速响应。
控制反转:当实例化一个bean类时,不再由调用者进行实例化了,而是将实例化的工作交给spring容器进行执行。
依赖注入:在spring进行bean的实例化操作的同时,由spring负责执行bean类中变量的赋值工作。
优点:1.使用Spring的IOC容器,将对象之间的依赖关系交给Spring,降低组件之间的耦合性。
2.可以提供事务管理等服务。
3.实现面向切面编程。
4.对主流的框架提供了很好的集成支持,如Hibernate,Struts2,JPA等
5.Spring DI机制降低了业务对象替换的复杂性。