71muke 71muke

Spring介绍

上节课了解完IoC容器之后,我们正式进入Spring的学习,因为Spring框架的实现底层就有用到IoC容器。

一、Spring介绍

 Spring是一个开源的Java开发框架,它由Rod Johnson创建,并致力于解决企业应用开发的复杂性。Spring的目标是使开发者能够更轻松地创建可维护、可测试和松耦合的应用程序。


Spring的核心特性之一是依赖注入(Dependency Injection,DI),这是一种设计模式,通过外部容器来管理对象之间的依赖关系,降低了代码之间的耦合度。依赖注入的实现方式有多种,包括构造函数注入、Setter方法注入和接口注入等。


在Spring中,依赖注入的实现基于控制反转(Inversion of Control,IoC)的思想。控制反转是一种设计模式,它将对象的创建和依赖关系的管理交给了容器来完成,而不是由对象自身来创建和管理依赖对象。在Spring中,容器负责创建和管理对象,同时也负责解析对象之间的依赖关系。当一个对象需要依赖其他对象时,容器会自动将依赖对象注入到目标对象中,从而实现对象之间的协作。


Spring提供了许多功能,如事务管理、Web应用开发、数据访问等。通过使用Spring,开发者可以更轻松地实现企业级应用的开发。


Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。它的目标是解决企业应用开发的复杂性,并通过使用基本的JavaBean来完成以前只可能由EJB完成的事情。从简单性、可测试性和松耦合的角度而言,任何Java应用都可以从Spring中受益。


从Spring的名字上,可以从狭义与广义两个角度看待。狭义的Spring是指Spring框架(Spring Fremework),广义的Spring是指Spring生态体系

1、狭义的Spring框架

Spring框架是企业开发复杂性的一站式解决方案,它的核心是loC容器与AOP面向切面编程。而Spring IoC负责创建与管理系统对象,并在此基础上扩展功能

2、广义的Spring生态体系

Spring是整个生态中的最核心部分。具体如官方中的下图介绍

image.png


更多关于spring框架的内容都可以在spring.io网站上查看了解。


二、为什么使用Spring框架开发

1、传统开发方式

对象直接引用导致对象硬性关联,程序难以扩展维护。示例如下图:

image.png

上图的意思是:当开发者需要模块1时,需要实例化调用获取,当模块1依赖模块2时,模块1又需要通过实例化调用模块2才能使用。存在很强的直接耦合关联


2、Spring的IoC容器开发方式

loC容器是Spring生态的地基,用于统一创建与管理对象依赖。示例如下图:

image.png

上图的意思是,当开发者获取模块1时,通过IoC容器代理处理,模块1依赖模块2时,IoC容器会通过注入的方式给到模块1。让三者间的耦合性解耦,没有强的直接耦合关联


3、IoC容器的职责

对象的控制权交由第三方统一管理(loC控制反转),利用Java反射技术实现运行时对象创建与关联(DI依赖注入),基于配置提高应用程序的可维护性与扩展性。


留言

发布留言

需要购买本课才能留言哦~

{{ item.createtime | dateStr }}