什么是Spring
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。其主要目的是使J2EE易用和促进好编程习惯。
1.轻量:从大小和开销两方面而言,Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外。Spring是非侵入式的,典型的,Spring应用中的对象不依赖于Spring的特定类。
2.控制反转:Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
3.面向切面:Spring提供了面向切面编程的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
4.容器:Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。
5.框架:Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。
Spring基本框架
Spring 框架是一个分层架构,由 7 个定义良好的模块组成。Spring 模块构建在核心容器之上,核心容器定义了创建、配置和管理 bean 的方式,组成Spring框架的每个模块都可以单独存在,或者与其他一个或多个模块联合实现。每个模块的功能如下:
1.核心容器:这是Spring框架最基础的部分,它提供了依赖注入(Dependency Injection)特征来实现容器对Bean的管理。这里最基本的概念是BeanFactory,它是任何Spring应用的核心。BeanFactory是工厂模式的一个实现,它使用IoC将应用配置和依赖说明从实际的应用代码中分离出来。
2.Spring Context:Spring 上下文是一个配置文件,向 Spring框架提供上下文信息。Spring 上下文包括企业服务,例如JNDI、EJB、电子邮件、国际化、校验和调度功能。核心模块的BeanFactory使Spring成为一个容器,而上下文模块使它成为一个框架。
3.Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向切面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。
4.Spring DAO:JDBC DAO抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。另外,这个模块还使用了Spring的AOP模块为Spring应用中的对象提供了事务管理服务。
5.Spring ORM:Spring并不试图实现它自己的ORM解决方案,而是为几种流行的ORM框架提供了集成方案,包括Hibernate、JDO和iBATIS SQL映射。Spring的事务管理支持这些ORM框架中的每一个也包括JDBC。
6.Spring Web:Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。
7、Spring MVC :MVC框架是一个全功能的构建 Web应用程序的 MVC 实现。通过策略接口,MVC框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。模型由javabean构成,存放于Map;视图是一个接口,负责显示模型;控制器表示逻辑代码,是Controller的实现。Spring框架的功能可以用在任何J2EE服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同J2EE 环境(Web 或EJB)、独立应用程序、测试环境之间重用。
相关推荐
Spring 框架是Java开发领域中的一个核心框架,它主要设计目的是为了简化企业级应用的复杂性。Spring 自从2003年发布以来,因其强大的功能和灵活性,已经成为了许多开发者的首选。本节将详细介绍Spring的基本概念、...
**Spring框架概述** Spring是一个广泛使用的Java开源框架,主要用于简化企业级应用的开发。它的核心设计理念是“简事简为,难事善为,重用轮子”,旨在提高开发效率,减少代码冗余,并促进代码的可维护性和可测试性...
01-spring简介-框架的概念Spring框架是 Java 平台的一个开源的全栈(Full-stack)应用程序框架和控制反转容器实现,一般被直接称为 Spring。该框架的一些核心功能理论上可用于任何 Java 应用,但 Spring 还为基于...
深入Spring简介与入门 Spring框架,作为Java世界中最具影响力的轻量级框架之一,自诞生以来便以其简洁、灵活的设计理念赢得了广大开发者的青睐。本文旨在深入探讨Spring框架的核心概念、架构设计及其在实际开发中的...
Spring 简介 java Spring
Spring简介+IOC(理论 Spring简介+IOC(理论 Spring简介+IOC(理论 Spring简介+IOC(理论 Spring简介+IOC(理论 Spring简介+IOC(理论
JAVA Spring 10、Spring简介.pdf
01Spring简介.md
1.spring简介.md
**Spring框架概述** Spring是一个开源的Java平台,它主要为构建企业级应用提供全面的解决方案。这个框架由Rod Johnson在2003年发起,旨在简化Java开发,尤其是在企业级应用开发中的复杂性。Spring的核心设计理念是...
Spring框架简介和基本原理 Spring是一个业界广泛采用的Java应用程序框架,旨在简化Java企业级应用程序的开发。 Spring框架的核心是容器(IoC容器),它提供了依赖注入(Dependency Injection)的机制,能够将应用...
Spring框架是Java开发中的一个重要组成部分,它由Rod Johnson创建,主要目标是解决企业级应用开发中的复杂性,尤其是对EJB(Enterprise JavaBeans)的过度依赖。Spring最初的理念源自于Rod Johnson的著作《Expert ...
### Java Spring 框架简介及相关面试题解析 #### Spring框架概述 Spring 是一款非常流行的开源Java企业级应用开发框架,被广泛应用于构建高性能、易测试及可复用的Java应用。该框架由Rod Johnson创建,并于2003年6...
在Spring之前我们写代码容易遇到高耦合问题,如下图所示,业务层的实现需要new一个数据层的对像,但是如果我们的数据层发生改变时,业务层的对象必须重新新建,重新进行编译、打包、部署,改动相对较多,代码耦合度...