五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

關(guān)于Spring 依賴注入有什么好處

2022-06-27 11:47 作者:CAE虛擬與現(xiàn)實  | 我要投稿

最近在網(wǎng)上看到很多人提問,關(guān)于spring 依賴注入有什么好處 ?以下是某人說的一句話:"我看了,好處就是說,如果某一天實現(xiàn)類變了,在xml里改一下就行了,可是用原始的java new關(guān)鍵字,我也可以改實現(xiàn)類,只要把new后面的類改掉就行,改xml和改java,工作量是一樣的,沒看出有啥好處,這個傳說中的注入的好處,沒感覺到啊"看到這,我覺的對剛學(xué)spring的朋友都有這樣的誤解,其實不是這樣的。以下通過例子來說明下spring 依賴注入的好處

public interface PersonDao {

?public void add();

}

創(chuàng)建一個PersonDao對象

public class PersonDaoBean implements PersonDao

?{

? public void add()

{

? System.out.println("執(zhí)行PersonDaoBean里的add()方法");

}

}

public class PersonServiceBean implements PersonService {? ??

? ? private PersonDao personDao;? ??

? ? ? ??

? ? public PersonDao getPersonDao() {? ??

? ? ? ? return personDao;? ??

? ? }? ??

? ? public void setPersonDao(PersonDao personDao) {? ??

? ? ? ? this.personDao = personDao;? ??

? ? }? ? ?

? ? public void save(){? ??

? ? ? ? personDao.add();? ??

? ? }? ??

}?

xml文件

<?xml version="1.0" encoding="UTF-8"?>? ?

<beans xmlns="http://www.springframework.org/schema/beans"? ?

? ? ? ?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"? ?

? ? ? ?xsi:schemaLocation="http://www.springframework.org/schema/beans? ??

? ? ? ? ? ?http://www.springframework.org/schema/beans/spring-beans-2.5.xsd">? ?

? ? ? ? ? ?<bean id="personDao" class="cn.itcast.dao.impl.PersonDaoBean"></bean>? ?

? ? ? ? ? <bean id="personService" class="cn.itcast.service.impl.PersonServiceBean">? ?

? ? ? ? ? ? <property name="personDao" ref="personDao"></property>? ?

? ? ? ? ? </bean>? ?

</beans>??

  大家可以看到,在服務(wù)層的這個類里面,我們并沒有看到PersonDaoBean的身影,也就是說我們并不關(guān)心這個實現(xiàn)類是誰,我們通過PersonDao這個接口去引用注入進來的對象,在通過接口調(diào)用它的方法。這樣的話,服務(wù)層的組件和DAO層的組件已經(jīng)進行徹底的解耦了。

  看這到后,可能朋友門會問,到底怎么解耦了?和new 有什么區(qū)別了.

先說new吧,如果項目很大,action很多,基本上你要調(diào)add()方法,你都要new 一次,但是因項目需求,可能要重新增加一個業(yè)務(wù),把PersonDaoBean這業(yè)務(wù)換成,但是這個務(wù)務(wù)要把留,不能刪掉。有可能到時會再換過來同時新增的類也要實現(xiàn)PersonDao接口的add()方法。那怎么辦?如果用以前new 的方法,你在每個action中,就要把new 的對象都改一次對吧,如果用spring 依賴注入 就不用了.只要改要xml的文件就可以了

<bean id="personDao" class="cn.itcast.dao.impl.PersonDaoBean"></bean>? ?

  把以上的class改成新增的類就可,如果要換回來也方便,action的方法根本就不用動了.不知道大家明白沒有

  依賴注入或者說是控制反轉(zhuǎn),說白了就是使用了配置文件,這種思想的唯一好處就是增加了模塊的重用性靈活性。一般配置文件里存的都是數(shù)據(jù),鍵值之類的。Spring的配置文件把要引用類和要給類傳的參數(shù)都放到配置文件里,

這樣比以前寫死在程序里更靈活,因此更具重用性。

?

原文地址:?https://blog.csdn.net/hanxiaoshuang123/article/details/7471294

?

?

?


關(guān)于Spring 依賴注入有什么好處的評論 (共 條)

分享到微博請遵守國家法律
罗田县| 甘肃省| 肥东县| 铜山县| 乐安县| 尤溪县| 庐江县| 依安县| 海兴县| 浪卡子县| 镇康县| 筠连县| 新邵县| 崇文区| 甘德县| 庐江县| 镇雄县| 栾川县| 陈巴尔虎旗| 洛阳市| 河西区| 涪陵区| 甘南县| 宜章县| 建平县| 昌黎县| 张家界市| 平陆县| 枝江市| 库尔勒市| 渑池县| 孟村| 滕州市| 靖边县| 肇源县| 田东县| 务川| 芦溪县| 益阳市| 宝鸡市| 三河市|