本文已参与「新人创作礼」活动,一起开启掘金创作之路。
Spring的基本架构与核心概念
官网地址:spring.io
Spring发展到今天不仅仅是一个技术,而是一种开发的生态圈,Spring提供了若干个项目,每个项目用于完成特定的功能。
Spring Framework是底层的框架,使其他项目的根基
Spring Boot可以提高开发速度,使原先的开发变得更加简单
Spring Cloud支持进行分布式开发
以上三者占据了市场大多数的主流开发
Spring Framework系统架构
-
test:单元测试与集成测试
-
Core Container:核心容器
- Beans
- Core
- Context
- SpEL
-
AOP:面向切面编程
-
Aspects:AOP思想实现
-
Web:Web开发
- WebSocket
- Servlet
- Web
- Portlet
-
Data Access:数据访问
-
Data Intergration:数据集成
核心概念
在我们之前书写代码时,在业务层创建实例往往固定写死,导致了dao层做出新的更改时不能直接应用,需进行大的改动,我们称为代码耦合度偏高问题。
就以上问题,我们的解决方案是:在使用对象时,在程序中不要主动去使用new产生对象,转换为由外部提供对象, 对象的创建控制权由程序转移到外部,这种思想称为控制反转(IoC)
Spring技术就对Ioc思想进行了实现:
Spring提供了一个容器,称为IoC容器,用来充当IoC思想中的”外部“,IoC容器负责对象的创建,初始化等一系列工作,被创建或被管理的对象在IoC容器中统称为Bean。
在容器中建立bean时,在有依赖关系的bean之间,自动建立依赖,称为依赖注入(DI)
小结:在使用对象的时候,不需要自己new,使用IoC容器提供的对象,并且容器中类之间的关系已经进行了自动绑定,可直接使用!