Spring学习笔记——第一部分 Spring基础
1. 概述
理念:使现有的技术更加容易应用,本身是一个大杂烩。
目的:解决企业应用开发的复杂性。
功能:使用基本的JavaBean代替EJB,并提供了更多的企业应用功能。
范围:任何Java应用。
优点:
- 开源、免费;
- 轻量级、非入侵式;
- 内核:控制反转(IoC)、面向切面编程(AOP);
- 支持事务处理;
- 对框架整合的支持。
虽然Spring贯穿于表现层、业务逻辑层和持久层,但它并不想取代那些已有的框架,而是以高度的开放性与他们进行无缝整合。
SSH:Struct2 + Spring + Hibernate
SSM:SpringMVC + Spring + MyBatis
下载地址:https://repo.spring.io/release/org/springframework/spring/
中文文档:https://www.docs4dev.com/docs/zh/spring-framework/5.1.3.RELEASE/reference
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>5.2.0.RELEASE</version>
</dependency>
2. Spring的组成(七大模块)
3. 拓展
SpringBoot:
- 一个快速开发的脚手架;
- 基于SpringBoot可以快速开发单个微服务;
- 约定大于配置。
SpringCloud: - SpringCloud是基于SpringBoot实现的。
现在大多数公司就在使用SpringBoot进行快速开发,学习SpringBoot的前提,需要完全掌握Spring以及SpringMVC。有承上启下的作用。
4. IoC理论推导(思想)
原:
- UserDao接口
- UserImpl实现类
- UserService业务接口
- UserServiceImpl
loC本质
控制反转loC(Inversion of Control),是一种设计思想,DI(依赖注入)是实现IoC的一种方法,也有人认为DI只是IoC的另一种说法。 没有IoC的程序中,我们使用面向对象编程, 对象的创建与对象间的依赖关系完全硬编码在程序中,对象的创建由程序自己控制,控制反转后将对象的创建转移给第三方,个人认为所谓控制反转就是:获得依赖对象的方式反转了。
采用XML方式配置Bean的时候,Bean的定义信息是和实现分离的,而采用注解的方式可以把两者合为一体,Bean的定义信息直接以注解的形式定义在实现类中,从而达到了零配置的目的。
控制反转是一种通过描述(XML或注解)并通过第三方去生产或获取特定对象的方式。在Spring中实现控制反转的是IoC容器,其实现方法是依赖注入(Dependency Injection,DI)。