6、Spring LOC練習(xí)

Spring IoC練習(xí)包括兩部分:1.IoC/DI學(xué)習(xí) 2.AOP

IoC容器的作用:管理所有的bean及其相互間的依賴關(guān)系

配置有兩種格式:.xml和注解

反射:(1)概念:主要是指程序可以訪問码泞、檢測和修改它本身狀態(tài)或行為的一種能力(2.)反射解析

注入方式:(1.)構(gòu)造器注入用<constructor-arg> (2.) setter注入用property

依賴注入的例子

  • 書P42到44

IoC綜合練習(xí):Boss ,Car ,Meeting

  • Car:屬性有brand、color、parameter

  • Boss:屬性有name饼暑、company婚被、car狡忙、hobbies

  • Meeting:屬性theme、bosses
    綜合采用所學(xué)內(nèi)容址芯,設(shè)計并完成以上綜合練習(xí)

Boss類

package com.spring;

import java.util.List;

public class Boss {
    private String name;
    private String company;
    private List<Car> car;
    private List<String> hobbies;

    public Boss(String name, String company, List<Car> car, List<String> hobbies) {
        this.name = name;
        this.company = company;
        this.car = car;
        this.hobbies = hobbies;
    }

    public Boss() {
    }

    public String getName() {
        return name;
    }

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

    public String getCompany() {
        return company;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public List<Car> getCar() {
        return car;
    }

    public void setCar(List<Car> car) {
        this.car = car;
    }

    public List<String> getHobbies() {
        return hobbies;
    }

    public void setHobbies(List<String> hobbies) {
        this.hobbies = hobbies;
    }

    @Override
    public String toString() {
        return "Boss{" +
                "name='" + name + '\'' +
                ", company='" + company + '\'' +
                ", car=" + car +
                ", hobbies=" + hobbies +
                '}';
    }
}

Car類

package com.spring;

public class Car {
    private String brand;
    private String color;
    private String parameter;

    public Car(String brand, String color, String paramter) {
        this.brand = brand;
        this.color = color;
        this.parameter = parameter;
    }

    public Car() {
    }

    public String getBrand() {
        return brand;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getColor() {
        return color;
    }

    public void setColor(String color) {
        this.color = color;
    }

    public String getParameter() {
        return parameter;
    }

    public void setParameter(String parameter) {
        this.parameter = parameter;
    }

    @Override
    public String toString() {
        return "Car{" +
                "brand='" + brand + '\'' +
                ", color='" + color + '\'' +
                ", parameter='" + parameter + '\'' +
                '}';
    }
}

Meeting類

package com.spring;

import java.util.List;

public class Meeting {
    private String theme;
    private List<Boss> boss;

    public String getTheme() {
        return theme;
    }

    public void setTheme(String theme) {
        this.theme = theme;
    }

    public List<Boss> getBoss() {
        return boss;
    }

    public void setBoss(List<Boss> boss) {
        this.boss = boss;
    }

    public Meeting(String theme, List<Boss> boss) {
        this.theme = theme;
        this.boss = boss;
    }

    public Meeting() {
    }

    @Override
    public String toString() {
        return "Meeting{" +
                "theme='" + theme + '\'' +
                ", boss=" + boss +
                '}';
    }
}

配置

  • spring.xml
 <bean id="car1" class="com.spring.Car">
        <property name="brand" value="蘭博基尼"/>
        <property name="color" value="藍色"/>
        <property name="parameter" value="4.1"/>
    </bean>
    <bean id="car2" class="com.spring.Car">
        <property name="brand" value="奔馳"/>
        <property name="color" value="紅色"/>
        <property name="parameter" value="4.1"/>
    </bean>
    <bean id="car3" class="com.spring.Car">
        <property name="brand" value="寶馬"/>
        <property name="color" value="白色"/>
        <property name="parameter" value="4.1"/>
    </bean>
    <bean id="boss1" class="com.spring.Boss">
        <property name="name" value="梁"/>
        <property name="company" value="電子科技公司"/>
        <property name="car" ref="car1"/>
        <property name="hobbies">
            <list>
                <value>閱讀</value>
                <value>聽音樂</value>
            </list>
        </property>
    </bean>
    <bean id="boss2" class="com.spring.Boss">
        <property name="name" value="李"/>
        <property name="company" value="科技公司"/>
        <property name="car" ref="car2"/>
        <property name="hobbies">
            <list>
                <value>打乒乓球</value>
                <value>讀書</value>
            </list>
        </property>
    </bean>
    <bean id="boss3" class="com.spring.Boss">
        <property name="name" value="萌"/>
        <property name="company" value="文化公司"/>
        <property name="car" ref="car3"/>
        <property name="hobbies">
            <list>
                <value>聽音樂</value>
                <value>閱讀</value>
            </list>
        </property>
    </bean>
    <bean id="meeting" class="com.spring.Meeting">
        <property name="theme" value="經(jīng)濟"/>
        <property name="boss">
            <list>
                <ref bean="boss1"/>
                <ref bean="boss2"/>
                <ref bean="boss3"/>
            </list>
        </property>
    </bean>

主類

package com.spring;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class MeetingPrinter {
    public static void main(String[] args) {
        @SuppressWarnings("resources")
        ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
        Meeting meeting = context.getBean(Meeting.class);
        System.out.println(meeting);
    }
}

運行結(jié)果

image
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末去枷,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子是复,更是在濱河造成了極大的恐慌删顶,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,080評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件淑廊,死亡現(xiàn)場離奇詭異逗余,居然都是意外死亡,警方通過查閱死者的電腦和手機季惩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,422評論 3 385
  • 文/潘曉璐 我一進店門录粱,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腻格,“玉大人,你說我怎么就攤上這事啥繁〔酥埃” “怎么了?”我有些...
    開封第一講書人閱讀 157,630評論 0 348
  • 文/不壞的土叔 我叫張陵旗闽,是天一觀的道長酬核。 經(jīng)常有香客問我,道長适室,這世上最難降的妖魔是什么嫡意? 我笑而不...
    開封第一講書人閱讀 56,554評論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮捣辆,結(jié)果婚禮上蔬螟,老公的妹妹穿的比我還像新娘。我一直安慰自己汽畴,他們只是感情好旧巾,可當我...
    茶點故事閱讀 65,662評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著忍些,像睡著了一般菠齿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上坐昙,一...
    開封第一講書人閱讀 49,856評論 1 290
  • 那天绳匀,我揣著相機與錄音,去河邊找鬼炸客。 笑死疾棵,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的痹仙。 我是一名探鬼主播是尔,決...
    沈念sama閱讀 39,014評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼开仰!你這毒婦竟也來了拟枚?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,752評論 0 268
  • 序言:老撾萬榮一對情侶失蹤众弓,失蹤者是張志新(化名)和其女友劉穎恩溅,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體谓娃,經(jīng)...
    沈念sama閱讀 44,212評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡脚乡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,541評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了滨达。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片奶稠。...
    茶點故事閱讀 38,687評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡俯艰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出锌订,到底是詐尸還是另有隱情竹握,我是刑警寧澤,帶...
    沈念sama閱讀 34,347評論 4 331
  • 正文 年R本政府宣布辆飘,位于F島的核電站啦辐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏劈猪。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,973評論 3 315
  • 文/蒙蒙 一良拼、第九天 我趴在偏房一處隱蔽的房頂上張望战得。 院中可真熱鬧,春花似錦庸推、人聲如沸常侦。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,777評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽聋亡。三九已至,卻和暖如春际乘,著一層夾襖步出監(jiān)牢的瞬間坡倔,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,006評論 1 266
  • 我被黑心中介騙來泰國打工脖含, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留罪塔,地道東北人。 一個月前我還...
    沈念sama閱讀 46,406評論 2 360
  • 正文 我出身青樓养葵,卻偏偏與公主長得像征堪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子关拒,可洞房花燭夜當晚...
    茶點故事閱讀 43,576評論 2 349

推薦閱讀更多精彩內(nèi)容

  • 2.1 我們的理念是:讓別人為你服務(wù) IoC是隨著近年來輕量級容器(Lightweight Container)的...
    好好學(xué)習(xí)Sun閱讀 2,703評論 0 11
  • IoC(Inversion of Control佃蚜,控制反轉(zhuǎn))容器是Spring框架中非常 重要的核心組件,可以說它...
    陶然然_niit閱讀 1,397評論 0 2
  • 1. 依賴注入和控制反轉(zhuǎn) 依賴注入和控制反轉(zhuǎn)IoC是什么Ioc—InversionofControl着绊,即“控制反轉(zhuǎn)...
    蜜思1013閱讀 210評論 0 0
  • spring IoC練習(xí)包括兩部分:1.IoC/DI學(xué)習(xí) 2.AOP IoC容器的作用:管理所有的bean及其相互...
    m小萌同學(xué)閱讀 385評論 0 1
  • 加入長投訓(xùn)練營之前归露,我是一個從不為錢發(fā)愁的人氯夷,我和愛人收入不低,又沒有還貸款的壓力靶擦,感覺生活異常輕松腮考。 六月份雇毫,公...
    肥倉鼠閱讀 808評論 7 24