一、spring的簡介
spring是什麼東西就不介紹了,自己去找谷老師。
三、簡單的示例應用(使用xml的格式定義bean)
下圖是我的搭建圖,readme.txt是本人的自己新增的說明文件,沒有這個文件沒關係。
1.介面及實現類的編寫
介面:
package com.kane.csdn.inter;
public inte***ce testinte***ce
實現類impleone:
package com.kane.csdn.impl;
import com.kane.csdn.inter.testinte***ce;
public class impleone implements testinte***ce
}
實現類impletwo:
package com.kane.csdn.impl;
import com.kane.csdn.inter.testinte***ce;
public class impletwo implements testinte***ce
}
2.spring的配置檔案
<?xml version="1.0" encoding="utf-8"?>
3.接下來就可以編寫乙個主方法測試了
package com.kane.csdn.test;
import com.kane.csdn.inter.testinte***ce;
public class testmanage
}
執行後,可以看到結果為列印輸出「implement by one!」。如果我將配置檔案中的第乙個impleone的bean注釋掉,使用第二個impletwo的bean,大家可以執行看到結果輸出為「implement by two!」。正如大家看到的,這就是spring的作用,當你需要修改實現方式的時候,你不必修改**,你只需要修改配置檔案,使用你所需要的實現,即可實現目標,這難道不是很神奇嘛!
四、使用annotation
annotation,顧名思義,就是使用注視來代替你的xml的bean配置。下面我們將上面的示例進行改造,不在xml中定義bean,而是使用annotation。
1.修改你的配置檔案,引入包自動掃瞄
<?xml version="1.0" encoding="utf-8"?>
對比上面,你會發現它不再配置你的bean,而是加入了一句,它會自動將你com.kane.csdn.impl包下面的使用了註解annotation的類初始化為bean.
2.修改你的定義實現類,為其加上注釋,以便spring識別
package com.kane.csdn.impl;
import org.springframework.stereotype.service;
import com.kane.csdn.inter.testinte***ce;
@service("test")
public class impletwo implements testinte***ce
}
使用了@service註解將該類定義為id="test"的bean.
3.執行測試類,你發現它同樣輸出成功。
這就是annotation,只要將你的實現bean使用注釋定義後,就可替代原來xml,使開發更加快速。當然並不是說所有的時候使用annotation比xml都更加方便有效,當你的專案越來越大的時候,你會發現你的xml檔案就會很龐大,這是如果你使用annotation就會減少很多的配置。如果你是用了annotation,假如你要去替換你的實現bean,你就要去修改類的註解,就時候你就要考慮清楚了,因為你要去修改你的**,要確保這樣不會影響其它。這個就好像在專案中使不使用框架一樣,具體的情況還得具體對待。
五、總結
通過上面的例子講解了spring中最核心的ioc注入,就這麼簡單。spring中還有很多東東,比如:aop、spring mvc等內容,這就要靠你自己去學習了。
如何初步搭建Spring的執行環境
筆者最近也是才開始學習spring。下面就告訴像筆者一樣的初學者如何快速搭建乙個最簡單的spring開發環境。spring 3.2.7 2 在eclipse裡新建乙個dynamic web project,名稱叫testspring 此過程如果不會,請自己查閱相關資料。3 在工程中新增依賴的spri...
Spring 框架簡介及簡單環境搭建
概述 宗旨 核心 aop 提供面向切面程式設計依賴 aspects aop依賴的包 web 需要 spring 完成 web 相關功能時需要 容器 container ioc spring 環境的搭建 每次引入乙個 xsd 檔案是乙個 namespace xmlns 配置檔案中只需要引入基本 sch...
Spring中transaction的應用
spring框架的事務基礎架構 將預設地 只 在丟擲執行時和unchecked exceptions時才標識事務回滾 當出現異常,都可以進行回滾,可以在catch塊中使用下面一行 這種方法是手工進行設定事務回滾 transactionaspectsupport.currenttransactions...