spring常見知識點

一.Spring是什麼?

1Spring是一個IoC容器,利用DI技術管理對象之間的依賴!

IoC: Inversion of Control(控制反轉)

DI: Dependency Injection(依賴注入)

Spring也是一個對象工廠,它負責生產(即創建)和管理(比如控制它們的生命週期,或給特定的對象創建代理等等)着各種對象

Spring也是一個對象工廠,它負責生產(即創建)和管理(比如控制它們的生命週期,或給特定的對象創建代理等等)着各種對象

控制反轉(IoC)

所謂控制:即獲取依賴對象的方式

假如A要調用B的方法(即A依賴於B),則A首先要獲得B對象

B b = new BImplement();

A直接依賴於B的具體實現

B b = Factory.getBInstance();

A依賴於工廠對象

上面就是沒有“反過來”的情況:A主動獲取B對象

反轉

即如果A要獲取B對象,不是由A主動獲取B對象,而是由其它人把B送給A(即將B注入給A),因爲A依賴於B,所以BA的依賴對象,因此稱“依賴注入(DI)”

DIscope

把多例對象注入到多利對象中(沒有問題)

把多例對象注入到單利對象中(有問題)

把單利對象注入到多例對象中(沒有問題)

把單例對象注入到單利對象中(沒有問題)

2)類型轉換器的配置

<!--註冊類型轉換器  -->

<bean class="org.springframework.beans.factory.config.CustomEditorConfigurer">

<property name="customEditors">

<map>

<!-- key對應的就是類型,value對應的就是轉換器 -->

<entrykey="java.util.Date"value="cn.com.leadfar.spring.actions.DateConver"></entry>

</map>

</property>

</bean>

3)注入的幾種方式

使用構造器注入

使用屬性setter方法注入

使用Field注入(用於註解方式)

注入依賴對象可以採用手工裝配或自動裝配,在實際應用中建議使用手工裝配,因爲自動裝配會產生未知情況,開發人員無法預見最終的裝配結果。

1.手工裝配依賴對象

2.自動裝配依賴對象

二.註解(annotation)和XML通用

利用註解進行注入

---Component,默認定義的beanID是類名(第一個字母小寫)

----Controller 定義Action

---Service 定義業務邏輯對象

---Repository 定義持久化層對象

--Scope(“prototype” )定義Scope屬性

---Resource註解缺省是按類型注入,除非指定name屬性

典型的應用 Action---service---dao(三層架構中的註解)

異常:

1)懶加載異常 由於hibernate處於離線狀態,將session關閉,導致jsp頁面不能訪問數據庫中的內容。如何解決:爲了解決。Ssh集成的時候通常在web.xml中定義OpensessionInViewFilter.Filter通常定義在最前面

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章