一览Spring全貌

简介:        Spring是一个Java 开源框架,是轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。 轻量——从大小与开销两方面而言Spring都是轻量的。

       Spring是一个Java 开源框架,是轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。

    • 轻量——从大小与开销两方面而言Spring都是轻量的。完整的Spring框架可以在一个大小只有1MB多的JAR文件里发布。并且Spring所需的处理开销也是微不足道的。此外,Spring是非侵入式的:典型地Spring应用中的对象不依赖于Spring的特定类。
    • 控制反转——Spring通过一种称作控制反转(IoC)的技术促进了松耦合。当应用了IoC,一个对象依赖的其它对象会通过被动的方式传递进来,而不是这个对象自己创建或者查找依赖对象。你可以认为IoC与JNDI相反——不是对象从容器中查找依赖,而是容器在对象初始化时不等对象请求就主动将依赖传递给它。
    • 面向切面——Spring提供了面向切面编程(AOP)的丰富支持,允许通过分离应用的业务逻辑与系统级服务(例如审计(auditing)和事务(transaction)管理)进行内聚性的开发。应用对象只实现它们应该做的——完成业务逻辑——仅此而已。它们并不负责(甚至是意识)其它的系统级关注点,例如日志或事务支持。
    • 容器——Spring包含并管理应用对象的配置和生命周期,在这个意义上它是一种容器,你可以配置你的每个bean如何被创建——基于一个可配置原型(prototype),你的bean可以创建一个单独的实例或者每次需要时都生成一个新的实例——以及它们是如何相互关联的。然而,Spring不应该被混同于传统的重量级的EJB容器,它们经常是庞大与笨重的,难以使用。
    • 框架——Spring可以将简单的组件配置、组合成为复杂的应用。在Spring中,应用对象被声明式地组合,典型地是在一个XML文件里。Spring也提供了很多基础功能(事务管理、持久化框架集成等等),将应用逻辑的开发留给了你。

       Spring的框架结构

    • Spring Core——核心容器,核心容器提供 Spring 框架的基本功能。其主要组件是 BeanFactory,它是工厂模式的实现。BeanFactory 使用控制反转 (IOC) 模式将应用程序的配置和依赖性规范与实际的应用程序代码分开。可以说BeanFactory 提供了组件生命周期的管理,组件的创建,装配,销毁等功能。

    • Spring Context——ApplicationContext,扩展核心容器,提供事件处理、国际化等功能。它提供了一些企业级服务的功能,提供了JNDI,EJB,RMI的支持。

    • Spring AOP——通过配置管理特性,Spring AOP 模块直接将面向切片的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring 框架管理的任何对象支持 AOP。Spring AOP 模块为基于 Spring 的应用程序中的对象提供了事务管理服务。通过使用 Spring AOP,不用依赖 EJB 组件,就可以将声明性事务管理集成到应用程序中。

    • Spring DAO——JDBC DAO 抽象层提供了有意义的异常层次结构,可用该结构来管理异常处理和不同数据库供应商抛出的错误消息。异常层次结构简化了错误处理,并且极大地降低了需要编写的异常代码数量(例如打开和关闭连接)。Spring DAO 的面向 JDBC 的异常遵从通用的 DAO 异常层次结构。同时还提供了对事务支持。

    • Spring ORM——Spring 框架对流行的O/R Mapping封装或支持,从而提供了 ORM 的对象关系工具,其中包括 JDO、Hibernate 和 iBatis SQL Map。所有这些都遵从 Spring 的通用事务和 DAO 异常层次结构。

    • Spring Web——提供Web应用上下文,对Web开发提供功能上的支持,如请求,表单,异常等。Web 上下文模块建立在应用程序上下文模块之上,为基于 Web 的应用程序提供了上下文。所以,Spring 框架支持与 Jakarta Struts 的集成。Web 模块还简化了处理多部分请求以及将请求参数绑定到域对象的工作。

    • Spring Web MVC——MVC 框架是一个全功能的构建 Web 应用程序的 MVC 实现,作用等同于Struts。通过策略接口,MVC 框架变成为高度可配置的,MVC 容纳了大量视图技术,其中包括 JSP、Velocity、Tiles、iText 和 POI。

       Spring 框架的功能可以用在任何 J2EE 服务器中,大多数功能也适用于不受管理的环境。Spring 的核心要点是:支持不绑定到特定 J2EE 服务的可重用业务和数据访问对象。毫无疑问,这样的对象可以在不同 J2EE 环境 (Web 或 EJB)、独立应用程序、测试环境之间重用。


目录
相关文章
|
5月前
|
Java Spring
【Spring Boot 源码学习】走近 AutoConfigurationImportSelector
本篇笔者带大家走近 AutoConfigurationImportSelector,从整体上了解 Spring Boot 自动装配功能
60 2
【Spring Boot 源码学习】走近 AutoConfigurationImportSelector
|
6月前
|
XML Java 数据格式
深度挖掘Spring IoC核心模块源码的宝藏
深度挖掘Spring IoC核心模块源码的宝藏
47 1
|
8月前
|
Java 应用服务中间件 API
Spring款框架详解(宝藏级)上
Spring款框架详解(宝藏级)
Spring款框架详解(宝藏级)上
|
4月前
|
Java Spring 容器
spring讲解笔记:spring框架学习的要点总结
spring讲解笔记:spring框架学习的要点总结
|
5月前
|
缓存 安全 Java
Spring面试攻略:如何展现你对Spring的深入理解
本次面试涉及了Spring框架的多个方面,包括IOC和AOP的理解、Spring容器的启动流程、Bean的创建过程、Bean的线程安全性、循环依赖的处理、事务的处理以及Spring MVC中控制器的线程安全性。通过这些问题的回答,展示了对Spring框架的深入理解和应用经验。同时,也凸显了对面试题目的认真思考和清晰表达的能力。
|
7月前
|
XML Java API
Spring概况和框架介绍
Spring概况和框架介绍
68 0
|
8月前
|
前端开发 Java 数据安全/隐私保护
Spring款框架详解(宝藏级)下
Spring款框架详解(宝藏级)
|
8月前
|
Java Spring
Spring款框架详解(宝藏级)中
Spring款框架详解(宝藏级)
|
8月前
|
Java 数据库连接 数据库
spring高级源码笔记:深入理解阿里spring源码核心思想及框架应用
Spring 是分层的 full-stack(全栈) 轻量级开源框架,以 IoC 和 AOP 为内核,提供了展现层 SpringMVC 和业务层事务管理等众多的企业级应⽤技术,还能整合开源世界众多著名的第三⽅框架和类库,已经成为使⽤最多的 Java EE 企业应⽤开源框架。
106 0
|
11月前
|
前端开发 Java Spring
Spring MVC源码 - 00开篇主题框架一览
Spring MVC源码 - 00开篇主题框架一览
65 0
Spring MVC源码 - 00开篇主题框架一览