spring框架學習(一) 依賴注入,其方式我這裏記錄四種

spring : 輕量級,一站式的企業應用框架
設計理念: 面向Bean的編程
核心思想:
One: 依賴注入:(Ioc和Di) 控制反轉和依賴注入
Two:面向切面編程: Aop
有點:
1/低侵入式設計
2/獨立於各種應用服務器
3/依賴注入特性將組建透明化 降低了耦合
—>對象和對象之間,在發生調用關係的時候 ,這種調用關係是交給ioc容器進行的, 作爲使用者不在關心被調用者是怎麼實現的,我們集中精力關注調用者內部是怎麼實現…….後邊會補充本塊兒內容….
4/ 面向切面編程特性允許將通用任務集中處理
5/與第三方框架的良好整合
Ioc:的定義和原理
將組件的控制權從代碼本身轉交給外部容器
組件化的思想:分離關注點,使用接口 不在關注實現
比如:
傳統版本:創建A類 在A類中調用B類的時候 ,需要New一個B的對象
這個時候就是A類在獲取B類的控制權,

工廠模式:根據需要創建對象實例,爲我們返回所需的產品
1/產品的規範
2/產品
3/工廠
4/客戶端調用

案例:
引入spring的四個包 core Context Expression beans
1/創建類
2/創建Application.cfg.xml
3/配置Bean

  <!--聲明spring創建的對象實例,id屬性指定對象的標識符, Class屬性指定被聲明的實例的類-->
    <bean id="hellospring" class="HelloSpring">
        <!--指定屬性名字 ,對應方法裏的SetXXX的XXX-->
        <property name="who">
            <!--指定被複制的內容-->
            <value>Spring  ASDFASDFADS  FASD</value>
        </property>
    </bean>

依賴注入的方式有: P命名空間注入屬性值 前提在xml中導入
xmlns:p = “http://www.springframework .org/schema/p
在注入屬性值的時候 格式如下
p:屬性名 = 值
p:屬性名-ref = bean的id

設值注入及多種情況
1/ 當遇到特殊字符需要注入屬性值的時候 ,

<property name="who">
            <!--指定被複制的內容-->
            <value><![CDATA[D&A]]></value>
        </property>
還可以將特殊字符轉化爲實體引用 .   [這裏寫鏈接內容](https://www.cnblogs.com/garinzhang/p/spring_Special_char_encode.html)

2/集合數組注入 標籤是

內部value有多組 還有等
與list集合對應的標籤
同樣 map 集合注入 對應標籤
不過他<map>
<entry>
<key><value></value></key>
<value></value>
</entry>
</map>

        set集合 <set>
        properties類型數據  注入 用
        <props>
        <prop  key="">XXX </prop>
        </props>      

3/構造注入,
與設值注入不同的是他神根據有參的構造方法實例的
時效性比之要好一些
構造注入中 index 尚需經確定參數位置
特殊情況是 還可以用type指定傳入的參數數據類型
構造注入 靈活性要比 設值注入差

4/註解注入;
此處後邊補充.

發佈了62 篇原創文章 · 獲贊 2 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章