1. 程式人生 > >spring框架簡單注入方式

spring框架簡單注入方式

1、Spring框架

IOC:反轉控制(查詢資源的被動方式)

AOP:面向切面程式設計(宣告式事務)

2、Spring之HelloWorld

1.搭建環境

    a.建立普通的javaProject.

  b.匯入相關的jar包(beans,core,context,expression,commons-logging)

    c.建立Spring的核心配置檔案: applicationContext.xml
    2.編寫java類

3.在IOC中配置bean.


4.測試:

    a.例項化SpringIOC容器


   b.從IOC容器中獲取bean


3、IOC&DI

SpringIOC容器的結構:

a.BeanFactory:SpringIOC容器的基礎設施,面向框架本身的.

b.ApplicationContext:面向開發者的.

c.ConfigurableApplicationContext:是ApplicationContext的子介面,額外的提供了refresh,close兩個方法。

d.

 ClassPathXmlApplicationContext:從類路徑下載入讀取配置檔案

 FileSystemXmlApplicationContext:從檔案系統下載入讀取配置檔案

4、依賴注入(DI)

1.set方式注入

 a.在java類中提供成員變數(屬性)對應的set方法.

  b.在IOC容器中通過property標籤進行屬性值的注入


2.構造器方式注入

  a.在java類中提供對應的構造器(一定要提供無引數的構造器)

  b.在IOC容器中通過constructor-arg標籤進行屬性值的注入


 c.constructor-arg標籤的屬性:

    value: 指定普通屬性值

    ref: 引用其他的bean

    index: 指定構造器引數的位置

   type:  指定構造器引數的型別

5、注入屬性值的細節

1.字面值

  a.遇到特殊字元,可以使用轉義字元或者是<![CDATA[....]]>

2.引用其他的bean

  a.使用ref來指定IOC容器中已經存在的bean的id。

3.內部bean

  a.定義到一個bean的內部的bean.
      b.內部bean只能在bean的內部來使用.

  c.內部bean的定義可以省略id的配置.

4.null值與級聯屬性

  a.如果要給bean的屬性裝配null值,可以使用Spring提供的好的<null/>專有標籤.

  b.Spring支援使用級聯的方式給屬性進行賦值.

5.集合型別的屬性注入

  a.集合型別:

    List:  <list></list>

     Set:  <set></set>

     Map:  <map> <entry></entry></map>

     Properties: <props><prop></prop> </props>

6.獨立的集合bean

 a.先匯入util名稱空間

   b.使用util:list來配置獨立的集合bean


7.p名稱空間

 a.先匯入p名稱空間

  b.在bean的配置中使用p:xxx 或者是p:xxx-ref來進行屬性值的注入


6、自動裝配

1.byName

      a.根據bean的id值進行裝配

      b.根據IOC容器中bean的id值與要裝配的bean的set風格的屬性名進行匹配.

      c.匹配上則裝配成功,匹配不上則裝配失敗,不會拋異常.

    2.byType:

      a.根據bean的型別進行裝配

      b.根據IOC容器中bean的型別(class)與要裝配的bean的屬性的型別進行匹配

      c.使用byType的方式需要注意:如果匹配上多個相容的型別(本型別與子型別),會丟擲異常.