最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時(shí)間:2021年05月06日 10:55:03   作者:Lachlan_Yang  
這篇文章主要介紹了SpringIOC框架簡(jiǎn)單實(shí)現(xiàn)步驟,幫助大家更好的理解和學(xué)習(xí)使用Spring,感興趣的朋友可以了解下

簡(jiǎn)單介紹

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

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

依賴注入可以有效的解耦合。

具體實(shí)現(xiàn)

有兩種實(shí)現(xiàn)的方法,一種是配置xml文件來(lái)實(shí)現(xiàn),另一種是通過(guò)參數(shù)實(shí)現(xiàn),來(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類

    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 + " 可愛,因?yàn)樗鼤?huì)說(shuō)");
        pet.say();
    }
}

創(chuàng)建一個(gè)Dog類,繼承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類中name屬性賦值哈士奇。
  • 元素value屬性為一個(gè)具體的值,ref為引用,該代碼中“ ref="dog" ”對(duì)應(yīng)的是dog類的屬性name,相當(dāng)于new,此處可以體現(xiàn)解耦合。

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

輸出結(jié)果為:拉布拉多 比哈士奇 可愛,因?yàn)樗鼤?huì)說(shuō)WangWang

總結(jié)

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

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

相關(guān)文章

  • Java開發(fā)中的OOM內(nèi)存溢出問(wèn)題詳解

    Java開發(fā)中的OOM內(nèi)存溢出問(wèn)題詳解

    這篇文章主要介紹了Java開發(fā)中的OOM內(nèi)存溢出問(wèn)題詳解,OOM,全稱?Out?Of?Memory,意思是內(nèi)存耗盡或內(nèi)存溢出,當(dāng)JVM因?yàn)闆](méi)有足夠的內(nèi)存來(lái)為對(duì)象分配空間并且垃圾回收器也已經(jīng)沒(méi)有空間可回收時(shí),就會(huì)拋出這個(gè)?error,需要的朋友可以參考下
    2023-08-08
  • Java技巧函數(shù)方法實(shí)現(xiàn)二維數(shù)組遍歷

    Java技巧函數(shù)方法實(shí)現(xiàn)二維數(shù)組遍歷

    這篇文章主要介紹了Java技巧函數(shù)方法實(shí)現(xiàn)二維數(shù)組遍歷,二維數(shù)組遍歷,每個(gè)元素判斷下是否為偶數(shù),相關(guān)內(nèi)容需要的小伙伴可以參考一下
    2022-08-08
  • 解讀線程池-Executors的newSingleThreadExecutor和newFixedThreadPool(1)區(qū)別

    解讀線程池-Executors的newSingleThreadExecutor和newFixedThreadPool(1

    這篇文章主要介紹了解讀線程池-Executors的newSingleThreadExecutor和newFixedThreadPool(1)區(qū)別,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-08-08
  • SpringBoot啟動(dòng)過(guò)程的實(shí)現(xiàn)

    SpringBoot啟動(dòng)過(guò)程的實(shí)現(xiàn)

    這篇文章主要介紹了SpringBoot啟動(dòng)過(guò)程的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • String類型傳遞是值傳遞,char[]類型傳遞是引用傳遞的實(shí)現(xiàn)

    String類型傳遞是值傳遞,char[]類型傳遞是引用傳遞的實(shí)現(xiàn)

    下面小編就為大家?guī)?lái)一篇String類型傳遞是值傳遞,char[]類型傳遞是引用傳遞的實(shí)現(xiàn)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看不
    2016-09-09
  • 使用mybatisPlus的queryWrapper做左聯(lián)接,內(nèi)聯(lián)接方式

    使用mybatisPlus的queryWrapper做左聯(lián)接,內(nèi)聯(lián)接方式

    本文介紹了如何使用Mybatis-Plus的QueryWrapper進(jìn)行SQL查詢,包括左連接、內(nèi)連接等操作,通過(guò)示例代碼展示了如何構(gòu)建復(fù)雜的SQL查詢,并將結(jié)果存儲(chǔ)在List對(duì)象中返回,希望給讀者提供參考
    2025-03-03
  • SpringBoot在容器中創(chuàng)建實(shí)例@Component和@bean有什么區(qū)別

    SpringBoot在容器中創(chuàng)建實(shí)例@Component和@bean有什么區(qū)別

    這篇文章主要介紹了SpringBoot在容器中創(chuàng)建實(shí)例@Component和@bean有什么區(qū)別,在Spring Boot中,@Component注解和@Bean注解都可以用于創(chuàng)建bean。它們的主要區(qū)別在于它們的作用范圍和創(chuàng)建方式
    2023-03-03
  • Java實(shí)戰(zhàn)之實(shí)現(xiàn)用戶登錄

    Java實(shí)戰(zhàn)之實(shí)現(xiàn)用戶登錄

    這篇文章主要介紹了Java實(shí)戰(zhàn)之實(shí)現(xiàn)用戶登錄,文中有非常詳細(xì)的代碼示例,對(duì)正在學(xué)習(xí)java的小伙伴們有非常好的幫助,需要的朋友可以參考下
    2021-04-04
  • 一行java代碼實(shí)現(xiàn)高斯模糊效果

    一行java代碼實(shí)現(xiàn)高斯模糊效果

    這篇文章主要為大家詳細(xì)介紹了一行java代碼實(shí)現(xiàn)高斯模糊效果,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • Java Scanner如何獲取字符串和帶空格的字符串

    Java Scanner如何獲取字符串和帶空格的字符串

    這篇文章主要介紹了Java Scanner如何獲取字符串和帶空格的字符串問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評(píng)論

万宁市| 武义县| 西青区| 孟连| 同德县| 汉中市| 靖州| 峨山| 即墨市| 阿勒泰市| 长兴县| 石嘴山市| 长垣县| 陆河县| 远安县| 荆门市| 汶上县| 太湖县| 桐城市| 新乐市| 壤塘县| 英山县| 明光市| 天津市| 广州市| 唐海县| 武隆县| 孟村| 浦城县| 岳普湖县| 洛浦县| 惠东县| 鹿泉市| 吴川市| 高雄市| 濮阳市| 吴旗县| 庆安县| 昌宁县| 宁河县| 吉林省|