0.什么是SPRING
- Spring : 春天 —>给软件行业带来了春天
- 2002年,Rod Jahnson首次推出了Spring框架雏形interface21框架(SPRING框架的前身)
- 2004年3月24日,Spring框架以interface21框架为基础,经过重新设计,发布了1.0正式版
- 很难想象Rod Johnson的学历 , 他是悉尼大学的博士,然而他的专业不是计算机,而是音乐学
- Spring理念 : 使现有技术更加实用 . 本身就是一个大杂烩 , 整合现有的框架技术
1.链接
2.MAVEN依赖
<!-- 直接导入spring-webmvc依赖,通过maven就会帮助我们导入基本其他的所有依赖 -->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
<!-- 因为后面要使用到JDBC,所以在这里可以把这个依赖也一起导入 -->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.8.RELEASE</version>
</dependency>
3.优点
- spring是一个开源免费的 框架/容器
- spring是一个轻量级的、非入侵式的框架
- 轻量级就是说它很小,直接导入maven依赖即可
- 非入侵说的是引入这个框架之后不会影响原来的项目,有的框架引入之后你的项目就有很多BUG,跑不了了
- 控制反转(IOC)、面向切面编程(AOP)
- 支持事务处理,支持整合其他框架
总结为一句话:spring是一个轻量级的、控制反转的(IOC)、面向切面编程(AOP)的框架
4.SPRING的组成/7大模块
5.拓展
在spring的官网有下图的介绍,这幅图主要介绍了"现代java开发"的步骤,本质上就是说"现代java的开发就是基于spring的开发(the source for modern java)"
- spring boot
- 一个快速开发的脚手架,即我们使用spring boot来构建功能模块的时候,只需要配置一些配置文件,就可以实现一个功能模块
- 即基于spring boot可以快速开发一个单个微服务
- spring boot的使用和maven一样,也是约定大于配置
- spring cloud
- spring cloud 是基于spring boot实现的
- spring cloud 就是用来协调多个spring boot开发的微服务模块的
因为现在很多公司都在使用spring boot进行快速开发,所以学习spring boot是很必要的,学习spring boot的前提,是完全掌握spring 以及springMVC,所以spring 以及springMVC在现在看来是一个承上启下的作用,是在为我们学习spring boot做铺垫和打基础
spring的弊端:由于这个框架从2002年就出现了,在发展过程了不断地整合其他框架(spring称为大杂烩的原因),所以现在直接使用spring要做的配置十分繁琐,人称"配置地狱"!