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]





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