ioc: 控制反轉. inversion of control, 需要明白誰控制誰, 控制什麼, 為什麼是反轉, 反轉了哪些方面
控制: ioc控制物件的建立, 控制了外部資源獲取比如檔案
反** 容器來建立注入依賴物件, 物件被動的接收依賴物件, 所以是反轉, 依賴物件的獲取被反轉了
ioc能做什麼
ioc和di
ioc 和 di 由什麼關係呢?
ioc容器和bean的概念:
ioc容器:具有依賴注入功能的容器, 負責例項化, 定位, 配置應用程式中的物件和簡歷這些物件之間的依賴
bean:ioc容器管理的物件統統叫做bean
spring中的ioc: beanfactory介面
工作原理:
準備配置檔案: 配置bean id 和對應class, 或許還有相關屬性
ioc容器解析元資料: 讀取並解析配置檔案, 根據配置檔案例項化, 配置, 組裝bean
例項化ioc: 由客戶端例項化容器, 獲取bean
1. 配置xml檔案: spring-ioc.xml
<?xml version="1.0" encoding="utf-8"?>
xmlns=""
xmlns:xsi=""
xmlns:context=""
xsi:schemalocation="
/spring-beans-3.0.xsd
/spring-context-3.0.xsd">
class="cn.kuang.spring_example.ioc.bean.bean1" />
id="bean2"
class="cn.kuang.spring_example.ioc.bean.bean2" />
id="bean3"
name="bean3"
class="cn.kuang.spring_example.ioc.bean.bean3" />
id="bean4"
name="bean,s,d,as,f,w,a"
class="cn.kuang.spring_example.ioc.bean.bean4" />
beans>
2. bean類:
其他bean也差不多, bean名字換一下就行
使用lombok的@data註解自動生成set, get, tostring
@data
public
class bean1
3. 測試類:public
class test
//測試通過id獲取bean2
@org.junit.test
public
void
test2()
}
spring3 學習筆記和總結 學習記錄
spring3 學習筆記和總結 學習記錄 最近又有機會用spring來做專案了,正好有藉口學習下spring3,決定把spring3的doc重新看一遍,查漏補缺,同時試著應用spring最新最好的特性,改進 質量,提高開發速度。import xml files 當有bean跨越多個.xml檔案定義時...
常用spring3註解
configuration把乙個類作為乙個ioc容器,它的某個方法頭上如果註冊了 bean,就會作為這個spring容器中的bean。scope註解 作用域 lazy true 表示延遲初始化 service用於標註業務層元件 controller用於標註控制層元件 如struts中的action ...
spring3 常見異常解決
以下異常使用的是spring是3.1.1,是我自己學習中遇到的錯誤筆記,有可能不是都適用,僅做參考 原因 缺少包,加入 org.springframework.transaction 3.1.1.release.jar 即可原因 缺少包,加入org.springframework.aop 3.1.1...