【Spring Framework】1、Spring是什么
https://www.bilibili.com/video/BV1WE411d7Dv?t=334&p=1
1、概述
Spring:春天 ----->> 给软件行业带来了春天
Spring是面向切面编程(AOP)和控制反转(IoC)的容器框架,一个开源框架,它由 Rod Johnson 创建。它是为了解决企业应用开发的复杂性而创建的。
2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架。
2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版。
Spring理念 : 使现有技术更加实用, 本身就是一个大杂烩, 整合现有的框架技术。
Rod Johnson
Spring框架的创始人,同时也是SpringSource的联合创始人。
很难想象Rod Johnson的学历,Rod Johnson 在悉尼大学不仅获得了计算机学位,同时还获得了音乐学。
真的让人大吃一惊,他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学。
2、优点
- Spring使一个开源的免费框架(容器)!
- 方便解耦、简化开发
- Spring是一个轻量级的、非入侵式的框架!
- 控制反转(IOC),面向切片编程(AOP)!
- 支持事务的处理。对框架整合的支持
总结:Spring就是轻量级的,控制反转(IOC),和面向切片编程(AOP)的框架!
3、组成
Spring-Core:Core包是框架的最基础部分,并提供依赖注入(Dependency Injection)管理Bean容器功能。
Spring-Context:(Spring核心容器<上下文模块>) 核心模块的BeanFactory使Spring成为一个容器,而上下文模块使它成为一个框架。
Spring-Aop:Spring在它的AOP模块中提供了对面向切面编程的丰富支持。
Spring-Dao:Spring的Dao模块对传统的JDBC进行了抽象,还提供了一种比编程性更好的声明性事务管理方法。
Spring-Web:Web上下文模块建立于应用上下文模块之上,利用Servlet listeners进行IOC容器初始化和针对Web的applicationcontext。
Spring Web MVC:(Model-View-Controller)Spring为构建Web应用提供了一个功能全面的MVC框架。
Spring-ORM:关系映射模块,ORM包为流行的“关系/对象”映射APIs提供了集成层,包括JDO,Hibernate和iBatis(MyBatis)。通过ORM包,可以混合使用所有Spring提供的特性进行“对象/关系”映射,方便开发时小组内整合代码。
4、拓展
- Spring Boot
- 一个快速开发的脚手架
- 基于Spring Boot 可以快速的开发单个微服务
- 约定大于配置!
- Spring Cloud
- Spring Cloud 基于Spring Boot实现的
因为现在大多数公司都在使用SpringBoot进行快速开发,学习SpringBoot的前提,需要完全掌握Spring及SpringMVC!
承上启下的作用!
弊端:发展太久之后,违别了原来的理念!配置十分繁琐,人称”配置地狱“
5、获取、使用
官网:https://spring.io/projects/spring-framework
官方下载地址:https://repo.spring.io/release/org/springframework/spring/
GitHub:https://github.com/spring-projects
Maven 使用 Spring 框架
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.3.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.6</version>
</dependency>
SSM:SpringMVC + Spring + Mybatis !
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)