Spring系列 【1、Spring简介】

Spring框架是Rod Johnson于2002年创立的开源项目,2004年发布1.0正式版,它是一个轻量级、非侵入式的框架,支持IOC和AOP。主要包含Core、Context、AOP、DAO、Web和Web MVC等多个模块。Spring的优点包括免费开源、轻量级、控制反转和面向切面编程,并提供了事务处理和框架整合。Spring的扩展包括Spring Boot用于快速开发和Spring Cloud实现微服务。学习Spring是掌握Spring Boot的前提,但Spring配置繁琐,有时被称为'配置地狱'。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、Spring

1.1 Spring简介

  • Spring:春天------>给软件行业带来了春天
  • 2002,首次推出了Spring框架的雏形:interface21框架
  • Spring框架即以interface21框架为基础,经过重新设计,并不断丰富其内涵,于2004年3月24日,发布了1.0正式版
  • Rod Johnson,Spring框架的创始人。
  • Spring理念:使现有的技术更加容易使用,本身十一个大杂烩,整合了现有的技术框架。

其主要有以下框架应用:

  • SSH:Struct2+Spring+Hibernate
  • SSM:SpringMVC+Spring+Mybatis

可以从以下方式直接了解Spring

  • 官网:https://spring.io/projects/spring-framework#overview
    https://docs.spring.io/spring-framework/docs/5.2.13.RELEASE/spring-framework-reference/core.html#beans-basics

  • 官方下载地址:https://repo.spring.io/release/org/springframework/spring/

  • GitHub:https://github.com/spring-projects/spring-framework

在应用Spring时,记得在配置文件中添加Spring依赖

<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-webmvc</artifactId>
    <version>5.3.3</version>
</dependency>

<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>5.3.4</version>
</dependency>

1.2、Spring优点

  • Spring是一个开源的免费的框架(容器)
  • Spring是一个轻量级的、非入侵式的框架
  • 控制反转(IOC),面向切面编程(AOP)
  • 支持事务的处理,对框架整合的支持

总结一句话:Spring就是一个轻量级的控制反转(IOC)和面向切面编程(AOP)的框架。

1.3、组成

Spring由7大模块组成,如下所示:
在这里插入图片描述
Spring-Core:
核心容器,提供依赖注入(Dependency Injection)管理Bean容器功能,其中BeanFactory提供了组件生命周期的管理,组件的创建,装配,销毁等功能

Spring-Context:(Spring核心容器<上下文模块>)
核心模块的BeanFactory使Spring成为一个容器,而上下文模块使它成为一个框架。这个模块扩展了BeanFactory的概念,增加了消息、事件传播以及验证的支持。另外,这个模块提供了许多企业服务,例如电子邮件、JNDI访问、EJB集成、远程以及时序调度(scheduling)服务。也包括了对模版框架例如Velocity和FreeMarker集成的支持。

Spring-Aop:
提供了面向切面编程支持。

Spring-Dao:
对传统的JDBC进行了抽象,还提供了一种比编程式更好的声明式事务管理方法。

Spring-Web:
提供Web应用上下文,对Web开发提供功能上的支持,如请求,表单,异常等。另外,这个模块还提供了一些面向服务支持。利用Servlet listeners进行IOC容器初始化和针对Web的applicationcontext。

Spring Web MVC:
全功能MVC框架,作用等同于Struts。它提供了一种清晰的分离模型,在领域模型代码和web form之间。

Spring-ORM:
关系映射模块,ORM包为流行的“关系/对象”映射APIs提供了集成层,包括JDO,Hibernate和iBatis(MyBatis)。

1.4、扩展

在这里插入图片描述

  • Spring Boot
    • 一个快速开发的脚手架
    • 基于SpringBoot可以快速的开发单个微服务
    • 约定大于配置
  • Spring Cloud
    • SpringCloud是基于SpringBoot实现的

因为现在大多数公司都在使用SpringBoot进行快速开发,学习SpringBoot的前提,需要完全掌握Spring及SpringMVC。

弊端:发展太久了,违背了原来的理念,配置实份繁琐,人称“配置地狱”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值