欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 前端技术 > javascript >内容正文

javascript

Spring控制反转(依赖注入)的最简单说明

发布时间:2025/3/20 javascript 34 豆豆
生活随笔 收集整理的这篇文章主要介绍了 Spring控制反转(依赖注入)的最简单说明 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

1.常规方式实现实例化

1.1已有角色如下:

一个接口Interface,两个接口实现类InstatnceA、InstanceB,一个调用类User

1.2当前实例化InstanceA如下:

Interface interface = new InstanceA(); #User类中的实例化代码

1.3欲修改如下:

现在想把实例化对象改为InstatnceB而不要实例化InstanceA

1.4代码修改如下:

Interface interface = new InstanceB(); #修改后的User类中的实例化代码,由InstanceA修改为了InstanceB

1.5总结:

User控制实例化哪个类(是实例化InstanceA还是InstanceB);当我们想修改实例化的类时必须去修改User中的代码。

 

2,.控制反转实现实例化

2.1已有角色如下:

一个接口Interface,两个接口实现类InstatnceA、InstanceB,一个调用类User,还有一个bean.xml(其维护一个Instance的id与InstanceA和InstanceB的对应关系)

2.2当前实例化InstanceA如下:

Interface interface = new Instance(); #User类中的实例化代码 <bean id="Instance" class="com.test.core.InstanceA"></bean> #bean中的映射关系

2.3欲修改如下(和1.3一样):

现在想把实例化对象改为InstatnceB而不要实例化InstanceA

2.4代码修改如下:

Interface interface = Instance(); #User类中的实例化代码,并不需要修改
<bean id="Instance" class="com.test.core.InstanceB"></bean> #对应关系为Instance--InstanceA变更为instance--InstanceB

2.5总结

spring控制实例化哪个类(是实例化InstanceA还是InstanceB);当我们想修改实例化的类时只要去修改bean.xml中的映射关系,而不用去User修改代码

 

3.依赖注入

User要实例化一个对像就需要一个类(InstatnceA或InstanceB)这就是一种依赖,控制反转后真正依赖的类(即要实例化的类)由beans.xml注入到User类。

依赖注入就是控制反转的别名,依赖注入侧重描述目地控制反转侧重描述现像(所以有时会见到依赖注入比控制反转给为准确的说法)。

 

4. MVC、IOC和ORM

SSH框架是Java Web的基石,而其中Struts核心概念是MVC、Spring的核心概念是IOC和Hibernate的核心概念是ORM,围绕这六个(或者叫三个)名词诞生了一本又一本让人看到想放弃的Java Web书藉。

其实抛开配置等细节问题仅从思想角度来看,MVC、IOC和ORM就是一回事,其本质都是将原本的“A调用B”模式解耦为“A通过xml调用B”的模式,以降低A和B强耦合导致的牵一发而动全身的问题(就是A或B修改后,工程中所有B或A的代码都要修改)。

另外,SSH可能会死(被别的框架取代),但是MVC、IOC和ORM永远不会死;但又反过来说到别的框架上MVC、IOC和ORM道理还是一样的不过换个xml文件罢了。

框架核心概念AxmlBxml作用
StrutsMVC前端web页面struts.xml后端表单处理类struts.xml控制了前端页面实际会被推送到的类,当A/B有修改一般对此xml稍作调整即可
SpringIOCnew class的代码beam.xmlclass本身beam.xml控制了new class会真正被实例化的类,当A/B有修改一般对此xml稍作调整即可
HibernateORMtable.hbm.xml数据库表table.hbm.xml控制了类属性与数据表的列的对应关系,当A/B有修改一般对此xml稍作调整即可

 

 

 

 

参考:

https://www.cnblogs.com/whgk/p/6074930.html

总结

以上是生活随笔为你收集整理的Spring控制反转(依赖注入)的最简单说明的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。