最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

分享到微博請遵守國家法律
云阳县| 平乐县| 克拉玛依市| 濮阳市| 平乐县| 黄浦区| 浙江省| 夏邑县| 莲花县| 旺苍县| 平果县| 邓州市| 青冈县| 宜都市| 孙吴县| 莆田市| 夏邑县| 葵青区| 万盛区| 泗阳县| 长兴县| 获嘉县| 文成县| 恩施市| 康保县| 吉隆县| 济阳县| 梧州市| 昌宁县| 罗山县| 景德镇市| 上思县| 呼伦贝尔市| 屯昌县| 汪清县| 沽源县| 海丰县| 凉山| 长垣县| 景宁| 泰顺县|