【Spring框架】Spring框架介绍

article/2025/9/12 23:42:22

文章目录

  • Spring框架介绍
    • Spring两大核心技术
  • Spring的优点
  • Spring体系介绍
    • 核心容器
    • 数据访问/集成
    • Web页面
    • 其他模块


Spring框架介绍

Spring框架是分层的 Java SE/EE 应用 full-stack 全栈式轻量级开源框架,以 IOC(Inverse Of Control:控制反转)AOP(Aspect Oriented Programming:面向切面编程)为内核,提供了展现层 SpringMVC 和持久层 Spring JDBC 以及业务层事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的 Java EE 企业应用开源框架。

Spring 的源代码设计精妙、结构清晰、匠心独用,处处体现着大师对 Java 设计模式灵活运用以及对 Java 技术的高深造诣。它的源代码是 Java 技术的最佳实践的范例。

Spring的官网:点击进入

Spring两大核心技术

  • IOC(Inverse Of Control:控制反转)
  • AOP(Aspect Oriented Programming:面向切面编程)

Spring的优点

1、方便解耦,简化开发
Spring就是一个大工厂,可以将所有对象创建和依赖关系维护,交给Spring管理。

通过 Spring 提供的 IoC 容器,可以将对象间的依赖关系交由 Spring 进行控制,避免硬编码所造成的过度程序耦合。用户也不必再为单例模式类、属性文件解析等这些很底层的需求编写代码,可以更专注于上层的应用。

2、AOP 编程的支持
Spring提供面向切面编程,可以方便的实现对程序进行权限拦截、运行监控等功能。

通过 Spring 的 AOP 功能,方便进行面向切面的编程,许多不容易用传统 OOP 实现的功能可以通过 AOP 轻松应付。

3、声明式事务的支持
只要通过配置就可以完成对事务的管理,而无需手动编程。

可以将我们从单调烦闷的事务管理代码中解脱出来,通过声明式方式灵活的进行事务的管理,提高开发效率和质量。

4、方便程序的测试
Spring整合了Junity单元测试,可以通过注解方便的测试Spring程序。

可以用非容器依赖的编程方式进行几乎所有的测试工作,测试不再是昂贵的操作,而是随手可做的事情。

5、方便集成各种优秀框架
Spring不排除各种优秀的开源框架。

Spring 可以降低各种框架的使用难度,提供了对各种优秀框架(Struts、Hibernate、Hessian、Quartz等)的直接支持。

6、降低JavaEE API的使用难度
Spring 对 JavaEE API(如JDBC、JavaMail、远程调用等)进行了封装,使这些 API 的使用难度大大降低。

 

 

 

总结:

  • 简化Java的开发
  • 基于POJO轻量级和最小侵入式开发
  • 通过依赖注入和面向接口实现松耦合
  • 基于切面和惯例进行声明式编程
  • 通过切面和模板减少样板式代码

Spring体系介绍

在这里插入图片描述

Spring框架中主要包含核心容器、数据访问/集成、Web模块,其他的AOP,测试模块等。

核心容器

核心容器由spring-core,spring-beans,spring-context,spring-context-support和spring-expression(SpEL,Spring表达式语言,Spring Expression Language)等模块组成,它们的细节如下:

  • spring-core模块提供了框架的基本组成部分,包括 IoC 和依赖注入功能。
  • spring-beans 模块提供 BeanFactory,工厂模式的微妙实现,它移除了编码式单例的需要,并且可以把配置和依赖从实际编码逻辑中解耦。
  • context模块建立在由core和 beans 模块的基础上建立起来的,它以一种类似于JNDI注册的方式访问对象。Context模块继承自Bean模块,并且添加了国际化(比如,使用资源束)、事件传播、资源加载和透明地创建上下文(比如,通过Servelet容器)等功能。Context模块也支持Java EE的功能,比如EJB、JMX和远程调用等。ApplicationContext接口是Context模块的焦点。
  • spring-context-support提供了对第三方库集成到Spring上下文的支持,比如缓存(EhCache, Guava, JCache)、邮件(JavaMail)、调度(CommonJ, Quartz)、模板引擎(FreeMarker, JasperReports, Velocity)等。
  • spring-expression模块提供了强大的表达式语言,用于在运行时查询和操作对象图。它是JSP2.1规范中定义的统一表达式语言的扩展,支持set和get属性值、属性赋值、方法调用、访问数组集合及索引的内容、逻辑算术运算、命名变量、通过名字从Spring IoC容器检索对象,还支持列表的投影、选择以及聚合等。

数据访问/集成

数据访问/集成层包括 JDBC,ORM,OXM,JMS 和事务处理模块,它们的细节如下:
(注:JDBC=Java Data Base Connectivity,ORM=Object Relational Mapping,OXM=Object XML Mapping,JMS=Java Message Service)

  • JDBC 模块提供了JDBC抽象层,它消除了冗长的JDBC编码和对数据库供应商特定错误代码的解析。
  • ORM 模块提供了对流行的对象关系映射API的集成,包括JPA、JDO和Hibernate等。通过此模块可以让这些ORM框架和spring的其它功能整合,比如前面提及的事务管理。
  • OXM 模块提供了对OXM实现的支持,比如JAXB、Castor、XML Beans、JiBX、XStream等。
  • JMS 模块包含生产(produce)和消费(consume)消息的功能。从Spring 4.1开始,集成了spring-messaging模块。。
  • 事务模块为实现特殊接口类及所有的 POJO支持编程式和声明式事务管理。(注:编程式事务需要自己写beginTransaction()、commit()、rollback()等事务管理方法,声明式事务是通过注解或配置由spring自动处理,编程式事务粒度更细)

Web页面

Web 层由 Web,Web-MVC,Web-Socket 和 Web-Portlet 组成,它们的细节如下:

  • Web 模块提供面向web的基本功能和面向web的应用上下文,比如多部分(multipart)文件上传功能、使用Servlet监听器初始化IoC容器等。它还包括HTTP客户端以及Spring远程调用中与web相关的部分。
  • Web-MVC 模块为web应用提供了模型视图控制(MVC)和REST Web服务的实现。
  • Spring的MVC框架可以使领域模型代码和web表单完全地分离,且可以与Spring框架的其它所有功能进行集成。
  • Web-Socket 模块为 WebSocket-based 提供了支持,而且在 web 应用程序中提供了客户端和服务器端之间通信的两种方式。
  • Web-Portlet 模块提供了用于Portlet环境的MVC实现,并反映了spring-webmvc模块的功能。

其他模块

还有其他一些重要的模块,像 AOP,Aspects,Instrumentation,Messaging和测试模块,它们的细节如下:

  • AOP 模块提供了面向方面的编程实现,允许你定义方法拦截器和切入点对代码进行干净地解耦,从而使实现功能的代码彻底的解耦出来。使用源码级的元数据,可以用类似于.Net属性的方式合并行为信息到代码中。
  • Aspects 模块提供了与 AspectJ 的集成,这是一个功能强大且成熟的面向切面编程(AOP)框架
  • Instrumentation 模块在一定的应用服务器中提供了类 instrumentation 的支持和类加载器的实现。
  • Messaging 模块为 STOMP 提供了支持作为在应用程序中WebSocket 子协议的使用。它也支持一个注解编程模型,它是为了选路和处理来自 WebSocket 客户端的 STOMP 信息。
  • 测试模块支持对具有 JUnit 或 TestNG 框架的 Spring 组件的测试。

http://chatgpt.dhexx.cn/article/9m4x9A3N.shtml

相关文章

【Java】Spring框架

一、Spring简介 简介 Spring是分层的Java SE/EE应用full-stack轻量级开源框架,以IoC(Inverse Of Control:反转控制)和AOP(Aspect Oriented Programming:面向切面编程)为内核。提供了展现层Spr…

spring框架解析(全)

spring概述 spring容器启动 springIoc控制反转 spring依赖注入 spring事务 spring事件监听 springaop面向切面编程 –AOP用例搭建 –注解配置 Spring AOP详解 –Transactional注解 spring注解大全 spring概述 spring是一个轻量级的容器,用于管理业务相关对象的。其两…

Spring框架学习

Spring框架 1、Spring框架介绍及搭建 Spring简介(官网:Spring | Home) Spring框架是一个开放源代码的J2EE应用程序框架,由Rod Johnson发起,是针对bean的生命周期进行管理的轻量级容器(lightweight container)。 Spr…

什么是spring框架?spring特点与好处,使用spring框架的好处是什么.

Spring是一个开源框架,Spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复杂性而创建的。框架的主要优势之一就是其…

什么是spring框架?spring框架到底有什么用?spring框架到底做了些什么?

什么是spring框架,spring框架究竟有什么用呢?我们可以用spring框架来做些什么呢?这是我今天要说的内容。 当然,百度spring框架会出现一大堆spring框架的介绍,以及IOC和AOP。但是这些官方的语言,看书都有解…

【Spring框架一】——Spring框架简介

系列文章目录 Spring框架简介 系列文章目录前言一、什么是Spring框架?二、Spring框架的优势1.简化开发流程:Spring提供了许多现成的功能,可以使得开发人员在构建应用程序时减少编写重复代码的工作。2.提高可维护性:Spring框架采用…

Spring 框架

Spring 1、概述: Spring是最受欢迎的轻量级的企业级Java应用程序开发框架;Spring框架的 核心特性可以用于开发任何Java应用程序,但是在JavaEE平台上构建Web应 用程序是需要扩展的。Spring框架的目标是使J2EE开发变得更容易使用,通…

Spring框架梳理总结(适合多刷)

目录 前言大纲总结1. 概念详解1.1 IOC与AOP1.2 IOC与DI1.3 接口区别 2. 注入方式2.1 基本类型2.2 复杂类型 3. 配置属性4. 注解注入5. AOP 前言 在看完上一篇文章每个知识点的时候 Spring框架从入门到学精(全) 大部分人对spring还是有些懵懂 可能是知识…

学习Spring框架这一篇就够了

1. spring概述 1.1 Spring是什么(理解) Spring是分层的 Java SE/EE应用 full-stack(全栈的) 轻量级开源框架,以 IOC(Inverse Of Control:控制反转)和 AOP(Aspect Orient…

【QT学习】实现MVC框架的简易封装(一文读懂)

文章目录 前言一、MVC框架简介1.核心部件2.使用目的3.MVC优点 二、具体封装步骤1.文件管理2.创建模型3.创建控制器4.MVC实现(用户登录验证为例) 总结 前言 MVC(Model-View-Controller)框架作为一种软件设计模式,已经被…

MVC框架以及实例

MVC框架 MVC(model,view,controller),一种将业务逻辑、数据、界面分离的方法组织代码的框架。在改进界面及用户交互的同时,不需要重写业务逻辑。MVC将传统的输入、处理和输出分离。 Model:模型,逻辑部分,也是表示应用程序的核心,比…

MVC框架流程图

MVC框架流程图 MVC的概念其实就那么简单,这些概念其实早已深入我们的内心,而我们所缺乏的是将其本质挖掘出来。我们来看看下面这幅图,这是一副流行了很多年的讲述MVC模型的图: 在这幅图中,MVC三个框框各司其职&#x…

了解MVC模式与MVC框架

MVC MVC的概念模型(Model)控制器(Controller)视图(View) MVC工作流程Java MVC框架Struts1框架Struts2框架Spring MVC框架JSF框架Tapestry框架 MVC的概念 MVC全名是Model View Controller,M是指数据模型,V是指用户界面,C是控制器。使用MVC最直…

Qt5 MVC框架

1、MVC 设计模式 起源于smalltalk的一种与用户界面设计相关的设计模式。 作用:实现数据与用户界面分离; 组成:模型model(表示数据)、视图view(表示用户界面)及控制controller(定义了用户在界面上的操作&am…

MVC框架概述

2014.11.8我们完成为时两月的中级软考准备,没有多余的时间去放松、娱乐,紧接着迎来了我进入提高班以来真正的一次项目实践--高效平台。 我做的是基础系统,就是一个算是幕后英雄的角色吧!考试系统、评教系统需要我们的数据、同时新生入学系统由我们来维护,所以说任务艰巨而…

C# .Net MVC框架实现最简单的登陆

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言C#.net实现最简单登陆 一、C#,.net是什么,相比较于C,java二、C# .net创建一个MVC框架工程1.步骤 实现结果 前言 C#.net实现最简单登陆 提示&#…

ASP.NET - MVC框架及搭建教程

一、MVC简介 MVC:Model-View-Controller(模型-视图-控制器),MVC是一种软件开发架构模式。 1、模型(Model) 模型对象是实现应用程序数据域逻辑的应用程序部件。 通常,模型对象会检索模型状态并…

PHP实现简易的MVC框架

目录 一、前言二、哪些框架使用到了mvc架构?三、框架结构简介四、框架实现第一步(解析路由)4.1 写入口文件4.2 定义Core核心类 五、框架实现第二步(MVC的实现)5.1 控制器的实现5.2 视图的实现5.3 模型的实现 六、总结 …

Unity MVC框架之见解

Unity MVC框架之见解 MVC框架认识构架图案例无框架,普通逻辑代码脚本主UI脚本角色UI脚本摄像机显示脚本脚本的放置 MVC框架的运用Model脚本View脚本主界面的View脚本角色View脚本 Controller脚本主界面的Controller脚本角色Controller脚本 控制主界面的显示脚本脚本…

asp.net mvc框架

#mvc基础 (model view controller) 是模型—视图—控制器的缩写,一种用于开发web应用程序的软件架构模式,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化…