您好,登錄后才能下訂單哦!
這篇文章主要講解了“Spring的核心編程有哪些”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Spring的核心編程有哪些”吧!
指 IoC 容器使用 setter 方法注入被依賴的實例。通過調(diào)用無參構(gòu)造器或無參 static 工廠方法實例化 bean 后,調(diào)用該 bean 的 setter 方法,即可實現(xiàn)基于 setter 的 DI。極客時間小馬哥講Spring核心編程思想
指 IoC 容器使用構(gòu)造方法注入被依賴的實例?;跇?gòu)造器的 DI 通過調(diào)用帶參數(shù)的構(gòu)造方法實現(xiàn),每個參數(shù)代表一個依賴。
下面通過屬性 setter 注入的案例演示 Spring 容器是如何實現(xiàn)依賴注入的。具體步驟如下。
在 springDemo01 項目的 com.mengma.ioc 包下創(chuàng)建一個名為 PersonService 的接口,該接口中包含一個 addPerson() 方法,如下所示。
package com.mengma.ioc;public interface PersonService {public void addPerson();}
在 com.mengma.ioc 包下創(chuàng)建一個名為 PersonServiceImpl 的類,該類實現(xiàn)了 PersonService 接口,如下所示。
package com.mengma.ioc;public class PersonServiceImpl implements PersonService {// 定義接口聲明private PersonDao personDao;// 提供set()方法,用于依賴注入public void setPersonDao(PersonDao personDao) {this.personDao = personDao;}// 實現(xiàn)PersonService接口的方法@Overridepublic void addPerson() {personDao.add(); // 調(diào)用PersonDao中的add()方法System.out.println("addPerson()執(zhí)行了...");}}
上述代碼中,首先聲明了 personDao 對象,并為其添加 setter 方法,用于依賴注入,然后實現(xiàn)了 PersonDao 接口的 addPerson() 方法,并在方法中調(diào)用 save() 方法和輸出一條語句。
在 applicationContext.xml 配置文件中添加一個 <bean> 元素,用于實例化 PersonServiceImpl 類,并將 personDao 的實例注入到 personService 中,其實現(xiàn)代碼如下所示:
<bean id="personService" class="com.mengma.ioc.PersonServiceImpl"><!-- 將personDao實例注入personService實例中 --><property name="personDao" ref="personDao"/></bean>
在 FirstTest 類中創(chuàng)建一個名為 test2() 的方法,編輯后如下所示:
@Testpublic void test2() {// 定義Spring配置文件的路徑String xmlPath = "applicationContext.xml";// 初始化Spring容器,加載配置文件ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);// 通過容器獲取personService實例PersonService personService = (PersonService) applicationContext.getBean("personService");// 調(diào)用personService的addPerson()方法personService.addPerson();}
感謝各位的閱讀,以上就是“Spring的核心編程有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對Spring的核心編程有哪些這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。