【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提供的特性进行“对象/关系”映射,方便开发时小组内整合代码。

image

4、拓展

image

  • 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 !

posted @ 2021-07-06 10:17  遇见星光  阅读(154)  评论(0编辑  收藏  举报