Spring-Framwork(spring 框架) --------- 容器

Spring 

Spring是一個開放源代碼的設計層面框架,他解決的是業務邏輯層和其他各層的鬆耦合問題,因此它將面向接口的編程思想貫穿整個系統應用。簡單來說,Spring是一個分層的JavaSE/EE full-stack(一站式) 輕量級開源框架。


1.容器

        提到spring,第一個就是聯想到容器。就像蘋果公司生產手機,並不是它自己生產,而是委託給其他工廠生產。那麼spring裏的工廠,就是這個ioc容器了,只是叫法不同。

2.應用上下文(applicationContext維護Bean定義以及對象之間協作關係的高級接口)

       上面提到spring的核心是容器,那麼怎麼告訴容器管理bean?沒錯!就是應用上下文去告訴。

       其實框架提供了許多容器的實現。比如beanFactory,只提供基本的DI(依賴注入)功能;還有一種是繼承beanFactory派生下來的applicationContext,它能提供更多企業級的服務,例如解析配置文本信息等;

         關於applicationContext配置方法,一種是通過構造器注入(constructor-arg)

                                                                還有一種就是通過setter對應的方法注入(property)

例子:constructor-arg

xml配置文件

<bean id="student" class="com.rc.sp.Student">
    <constructor-arg name="id" value="1"/>
    <constructor-arg name="name" value="student"/>
    <constructor-arg name="dream">
        <list>
            <value>soldier</value>
            <value>scientist</value>
            <value>pilot</value>
        </list>
    </constructor-arg>
    <constructor-arg name="score">
        <map>
            <entry key="math" value="90"/>
            <entry key="english" value="85"/>
        </map>
    </constructor-arg>
    <constructor-arg name="graduation" value="false"/>
</bean>

 property:

xml配置文件

<bean id="teacher" class="com.rc.sp.Teacher">
    <property name="id" value="1"></property>
    <property name="name" value="teacher"></property>
</bean>

輸出結果:

   Student [id=1, name=student, dream=[soldier, scientist, pilot],

       score={math=90, english=85}, graduation=false]


   Teacher [id=1, name=teacher]





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