国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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 依賴注入有什么好處的評論 (共 條)

分享到微博請遵守國家法律
泾阳县| 共和县| 阜城县| 同仁县| 黄龙县| 兴化市| 四平市| 梁平县| 大竹县| 治多县| 获嘉县| 尤溪县| 周口市| 台前县| 开封市| 徐汇区| 深泽县| 化隆| 锦屏县| 洪江市| 镇平县| 七台河市| 辛集市| 南部县| 凌海市| 香港 | 镇原县| 马鞍山市| 文成县| 光山县| 泰州市| 杨浦区| 科技| 大悟县| 抚松县| 临夏县| 博爱县| 岳西县| 中卫市| 武隆县| 广东省|