Spring學(xué)習(xí)之路(一)


使用Spring的原因

  • 總述:容器框架页徐,可以配置各種bean,并通過各項配置維護bean間關(guān)系晕城。
  • bean介紹:類型豐富泞坦,可以是action/serlvert/domain/service/dao等。
  • 表現(xiàn)方式:
  • IoC(Inverse of Control) 和 DI (Dependency Injection):反轉(zhuǎn)控制與依賴注入砖顷。
  • 說明:Spring容器獲取了創(chuàng)建對象贰锁,裝載對象的權(quán)利,使得程序不再維護對象的實例化滤蝠,同時applicationContext.xml(名字可以變)間的配置實現(xiàn)了數(shù)據(jù)的注入豌熄,程序間關(guān)系的注入(實現(xiàn)方式:java反射機制)。
  • 加快開發(fā)速度:編程粒度增大物咳。

Spring的運用范圍

spring可包含這四層锣险,bean間配置可以體現(xiàn)層與層間的關(guān)聯(lián)關(guān)系

運用范圍

入門案例

  • 引包:commons-logging.jar、spring.jar(該包為集成包)
  • 引進路徑:build path
  • 編寫代碼:

HelloService.java

package com.service;

public class HelloService {
    private String name;
    private BybService bybService;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    
    public BybService getBybService() {
        return bybService;
    }

    public void setBybService(BybService bybService) {
        this.bybService = bybService;
    }

    public void sayhello(){
        System.out.print("hello"+name);
        bybService.sayBybe();
    }
}

BybService.java

package com.service;

public class BybService {
    private String name;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }
    public void sayBybe(){
        System.out.print("bybe"+name);
    }

}
  • 配置applicationContext.xml:
    位置一般放在src文件夾下
<?xml version="1.0" encoding="UTF-8"?>
<!--引入schema規(guī)范文件-->
<beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns:aop="http://www.springframework.org/schema/aop"
        xmlns:tx="http://www.springframework.org/schema/tx"
        xsi:schemaLocation="
            http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd">
<!--配置bean,id為該HelloService的別名芯肤,與其對應(yīng)巷折;class為類路徑-->
<bean id="helloService" class="com.service.HelloService">
<!--數(shù)據(jù)注入,對該屬性賦值-->
    <property name="name">
        <value>小明</value>
    </property>
<!--關(guān)系注入崖咨,形成依賴锻拘,前者bybService為HelloService.java屬性值,后者bybService為 該文件配置BybService的id-->
    <property name="bybService" ref="bybService">
    </property>
</bean>
<bean id="bybService" class="com.service.BybService">
    <property name="name" value="小明"></property>
</bean>
</beans>
  • 測試代碼:
package com.test;
import org.springframework.context.support.ClassPathXmlApplicationContext;
public class Test {
    public static void main(String[] args) {
        ClassPathXmlApplicationContext ac=new ClassPathXmlApplicationContext("applicationContext.xml");
//創(chuàng)建容器對象击蹲,該句執(zhí)行后署拟,加載容器中所有bean(當(dāng)然僅對上述配置的bean),預(yù)先加載歌豺,不管你是否會使用推穷。
//ClassPathXmlApplicationContext("applicationContext.xml");指明配置文件的名稱與路徑,請自行更改調(diào)整类咧。
        HelloService us=(HelloService)ac.getBean("helloService");
        BybService by=(BybService)ac.getBean("bybService");
//獲取已加載的對應(yīng)類對象馒铃,使用函數(shù)getBean(id),同時注意類型轉(zhuǎn)換轮听。
        us.sayhello();
        by.sayBybe();   
//調(diào)用對象函數(shù)骗露。   
    }
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市血巍,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌珊随,老刑警劉巖述寡,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異叶洞,居然都是意外死亡鲫凶,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門衩辟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來螟炫,“玉大人,你說我怎么就攤上這事艺晴≈缱辏” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵封寞,是天一觀的道長然评。 經(jīng)常有香客問我,道長狈究,這世上最難降的妖魔是什么碗淌? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上亿眠,老公的妹妹穿的比我還像新娘碎罚。我一直安慰自己,他們只是感情好纳像,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布魂莫。 她就那樣靜靜地躺著,像睡著了一般爹耗。 火紅的嫁衣襯著肌膚如雪耙考。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天潭兽,我揣著相機與錄音倦始,去河邊找鬼。 笑死山卦,一個胖子當(dāng)著我的面吹牛鞋邑,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播账蓉,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼枚碗,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了铸本?” 一聲冷哼從身側(cè)響起肮雨,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎箱玷,沒想到半個月后怨规,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡锡足,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年波丰,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片舶得。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡掰烟,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出沐批,到底是詐尸還是另有隱情纫骑,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布珠插,位于F島的核電站惧磺,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏捻撑。R本人自食惡果不足惜磨隘,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一缤底、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧番捂,春花似錦个唧、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至鳖枕,卻和暖如春魄梯,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背宾符。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工酿秸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人魏烫。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓辣苏,卻偏偏與公主長得像,于是被迫代替她去往敵國和親哄褒。 傳聞我的和親對象是個殘疾皇子稀蟋,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348

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