Spring_day01--注入對象類型屬性(重點)_P名稱空間注入_注入複雜類型屬性_IOC和DI區別_Spring整合web項目原理

注入對象類型屬性(重點)

Action要new一個service對象,Service中又要new一個Dao對象,如今把new的過程交給spring來操做mysql

1 建立service類和dao類web

(1)在service獲得dao對象spring

2 具體實現過程(不經過newsql

(1)在service裏面把dao做爲類型屬性數組

(2)生成dao類型屬性的set方法服務器

(3)配置文件中注入關係spa

控制檯:3d

service......code

dao.........對象

得知,在類中注入對象類型屬性完成

P名稱空間注入

在一個標籤中不能寫多個相同的屬性,用名稱空間能夠區分不一樣的屬性

引入名稱空間

注入複雜類型屬性

1 數組

2 list集合

3 map集合

4 properties類型

<!-- 注入複雜類型屬性值 -->
    <bean id="person" class="cn.itcast.property.Person">
        <!-- 數組 -->
        <property name="arrs">
            <list>
                <value>鳳姐</value>
                <value>芙蓉姐姐</value>
                <value>奶茶妹妹</value>
            </list>
        </property>
        <!-- list -->
        <property name="list">
            <list>
                <value>唐嫣</value>
                <value>志玲</value>
                <value>柳巖</value>
            </list>
        </property>
        <!-- map -->
        <property name="map">
            <map>
                <entry key="aa" value="熊大"></entry>
                <entry key="bb" value="熊二"></entry>
                <entry key="cc" value="光頭強"></entry>
            </map>
        </property>
        <!-- properties -->
        <property name="properties">
            <props>
                <prop key="driverclass">com.mysql.jdbc.Driver</prop>
                <prop key="username">root</prop>
            </props>
        </property>
    </bean>

IOC和DI區別

(1)IOC: 控制反轉,把對象建立交給spring進行配置

(2)DI: 依賴注入,向類裏面的屬性中設置值

(3)關係:依賴注入不能單獨存在,須要在ioc基礎之上完成操做

Spring整合web項目原理

1 加載spring核心配置文件,

(1)new對象,功能能夠實現,效率很低

2 實現思想:把加載配置文件和建立對象過程,在服務器啓動時候完成

3 實現原理

(1)ServletContext對象

(2)監聽器

(3)具體使用:

- 在服務器啓動時候,爲每一個項目建立一個ServletContext對象

- 在ServletContext對象建立時候,使用監聽器能夠具體到ServletContext對象在何時建立

- 使用監聽器監聽到ServletContext對象建立時候,

-- 加載spring配置文件,把配置文件配置對象建立

-- 把建立出來的對象放到ServletContext域對象裏面(setAttribute方法)

- 獲取對象時候,到ServletContext域獲得 (getAttribute方法)

相關文章
相關標籤/搜索