Spring 概念
* Spring框架是针对软件开发的复杂性而生的。
* Spring是一个轻量级控制反转(IOC) 和 面向切面(AOP)的容器框架。
* Spring的前身是Interface21,2002年推出了Spring的雏形,interface21框架.
* Java之父是詹姆斯·高斯林,加拿大人。
* Spring框架的作者是Rod Johnson, Rod Johnson在悉尼大学不仅获得了计算机学位,同时还获得了音乐博士学位。
* Spring官网: https://spring.io/projects/spring-framework
* Spring中文文档下载地址: https://www.docs4dev.com/docs/zh/spring-framework/5.1.3.RELEASE/reference
* SpringGitHub地址: https://github.com/spring-projects/spring-framework
* Spring Maven 依赖
<!-- spring-web -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>5.3.6</version>
</dependency>
<!-- spring-jdbc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.3.6</version>
</dependency>
* Spring优点
- Spring是一个开源的、免费的框架(容器)
- Spring是一个轻量级的、非入侵式的框架。(非入侵:不改变源代码,在项目中继承它,不会对项目产生影响)
- 控制反转(IOC)
- 面向切面编程(AOP)
- 支持事务处理
- 对框架整合的支持
* Spring七大模块
1、Spring Core:工厂,创建对象。维护对象之间的依赖关系(IOC)
2、Spring AOP:面向切面编程,大量运用了代理设计模式。
3、Spring DAO:实现数据库操作的支持,可以支持JDBC
4、Spring ORM:对ORM类的框架进行支持,整合Hibernate、Mybatis
5、Spring Context:Spring上下文模块,主要针对Spring配置文件
6、Spring WEB:整合WEB框架,整合Struts、SpringMVC等
7、Spring MVC:Spring针对MVC模式的实现。
* Spring核心三大思想
- DI 依赖注入
- IOC 控制反转
- AOP 面向切面编程
* SpringBoot 和 SpringCloud
- SpringBoot:基于SpringBoot可以快速开发单个微服务(某一个模块),约定大于配置。
- SpringCloud: SpringCloud是基于SpringBoot实现的,用来协调一个个的微服务(模块)