- Spring可以 简化开发,降低企业级开发的复杂性,使开发变得更简单快捷
- Spring可以 框架整合,高效整合其他技术,提高企业级应用开发与运行效率
Spring家庭
1、Spring可以开发web、微服务以及分布式系统等
2、Spring并不是一个单一的技术,而是一个大家庭,可以从Projects中查看其包含的所有技术
3、Spring已经形成完整的生态圈,可以完全使用Spring技术完成整个项目的构建、设计和开发
我们的学习路线将会是:
- Spring的IOC/DI
- Spring的AOP
- AOP的具体应用,事务管理
- IOC/DI的具体应用,整合Mybatis
核心概念
在使用Spring之前,我们的代码有一个问题,耦合度高的问题。
我们在适用对象时,在程序中不要主动使用new产生对象,转换为外部提供对象
对象的创建控制权由程序转移到外部,这种思想称为控制反转
IoC(Inversion of Control)控制反转
使用对象时,由主动new产生对象转换为由 外部 提供对象,此过程中对象创建控制权由程序转移到外部,此思想称为控制反转
Spring提供了一个容器,叫做IoC容器 ,用于充当IoC的外部
IoC管理容器的创建和初始化的过程,被创建的和管理的对象在IoC容器中统称为Bean
IOC容器中放的就是一个个的Bean对象
DI(Dependency Injection)依赖注入
在容器中建立bean与bean之间的依赖关系的整个过程称为 ID 依赖注入
目标:充分解耦
使用IoC容器管理bean(IoC)
在IoC容器内将由依赖注入的bean进行关系绑定(DI)
最终效果:使用对象时不仅可以直接从IoC容器中获取,并且获取到的bean已经绑定所有的依赖关系
IOC/DI思想:
- IOC:控制反转,控制反转的是对象的创建权
- DI:依赖注入,绑定对象与对象之间的依赖关系
IOC容器:
Spring创建了一个容器用来存放所创建的对象,这个容器就叫IOC容器
Bean:
容器中所存放的一个个对象就叫Bean或Bean对象