国产成人精品18p,天天干成人网,无码专区狠狠躁天天躁,美女脱精光隐私扒开免费观看

SpringIOC框架的簡(jiǎn)單實(shí)現步驟

發(fā)布時(shí)間:2021-07-17 21:51 來(lái)源:腳本之家 閱讀:0 作者:Lachlan_Yang 欄目: 編程語(yǔ)言 歡迎投稿:712375056

目錄

簡(jiǎn)單介紹

依賴(lài)注入( Dependency Injection ,簡(jiǎn)稱(chēng) DI) 與控制反轉 (IoC) 的含義相同,只不過(guò)這兩個(gè)稱(chēng)呼是從兩個(gè)角度描述的同一個(gè)概念,具體如下:

  • 依賴(lài):bean對象的創(chuàng )建依賴(lài)于容器。
  • 注入:bean對象中的所有屬性,由容器來(lái)注入。
  • 控制反轉(IoC:依賴(lài)注入的另一種說(shuō)法是“控制反轉”,通俗的理解是:平常我們new一個(gè)實(shí)例,這個(gè)實(shí)例的控制權是我們程序員,而控制反轉是指new實(shí)例工作不由我們程序員來(lái)做而是交給spring容器來(lái)做

依賴(lài)注入可以有效的解耦合。

具體實(shí)現

有兩種實(shí)現的方法,一種是配置xml文件來(lái)實(shí)現,另一種是通過(guò)參數實(shí)現,來(lái),找個(gè)簡(jiǎn)單的例子讓咱們上手試一試。(Intellij IDEA 2020)

首先,咱們先配置一下相關(guān)的jar包(pom.xml)

     <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>4.13.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.3.5</version>
        </dependency>

創(chuàng )建一個(gè)Pet接口,存放方法say()

    public interface Pet {
    void say();
}

創(chuàng )建一個(gè)Person類(lèi)

    public class Person {
    private String name;
    private Pet pet;

    public void setName(String name) {
        this.name = name;
    }

    public void setPet(Pet pet) {
        this.pet = pet;
    }

    public void keepPet() {
        System.out.println(name + " 比" + pet + " 可愛(ài),因為它會(huì )說(shuō)");
        pet.say();
    }
}

創(chuàng )建一個(gè)Dog類(lèi),繼承Pet接口

public class Dog implements Pet{
    private String name;

    public void setName(String name) {
        this.name = name;
    }

    @Override
    public String toString() {
        return name;
    }
    public void say(){
        System.out.println("WangWang");
    }
}

重點(diǎn)來(lái)了,配置applicationContext.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.xsd">
    <bean id="dog" class="Ex_04.Dog">
        <property name="name" value="哈士奇"></property>
    </bean>
    <bean id="person" class="Ex_04.Person">
        <property name="name" value="拉布拉多"></property>
        <property name="pet" ref="dog"></property>
    </bean>
</beans>
  • bean中class為你所創(chuàng )建的包的地址,即Dao層,Service層的地址,為了方便我將其放在一起。
  • 為給dog類(lèi)中name屬性賦值哈士奇。
  • 元素value屬性為一個(gè)具體的值,ref為引用,該代碼中“ ref="dog" ”對應的是dog類(lèi)的屬性name,相當于new,此處可以體現解耦合。

基本類(lèi)已創(chuàng )建完畢,讓我們來(lái)創(chuàng )建一個(gè)實(shí)現類(lèi)

輸出結果為:拉布拉多 比哈士奇 可愛(ài),因為它會(huì )說(shuō)WangWang

總結

以上就就是以xml文件實(shí)現SpringIOC框架,如有錯誤,麻煩指出,感謝耐心到現在的朋友

到此這篇關(guān)于SpringIOC框架簡(jiǎn)單實(shí)現步驟的文章就介紹到這了,更多相關(guān)SpringIOC框架簡(jiǎn)單實(shí)現內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng )、來(lái)自本網(wǎng)站內容采集于網(wǎng)絡(luò )互聯(lián)網(wǎng)轉載等其它媒體和分享為主,內容觀(guān)點(diǎn)不代表本網(wǎng)站立場(chǎng),如侵犯了原作者的版權,請告知一經(jīng)查實(shí),將立刻刪除涉嫌侵權內容,聯(lián)系我們QQ:712375056,同時(shí)歡迎投稿傳遞力量。

亚洲中文字幕无码va| 国产A级三级三级三级| 免费无码又爽又刺激激情视频| 亚洲熟女综合色一区二区三区| 中文字幕亚洲乱码熟女一区二区| 欧美伊人色综合久久天天|