我是徐大志

有志者事竟成,破釜沉舟,百二秦关终属楚;
苦心人天不负,卧薪尝胆,两千越甲可吞吴。

Spring框架实例

一,介绍

  Spring框架核心是Ioc控制反转,只要在容器中注册以后,依赖从容器中获取即可

  简单的理解:需要一个值,在程序中定义一个变量,但是不赋值,只设置set方法,运行时,容器为该变量赋值

 

二,实例

 

1.导入框架依赖包,

  web.xml里会注册spring监听

  applicationContext.xml会自动生成

 

 

3.编写实体类

package com.zhaolong.bean;

import java.util.List;

public class Demo1 {
    
    private List<String> list;

    public List<String> getList() {
        return list;
    }

    public void setList(List<String> list) {
        this.list = list;
    }
    
}

 

4.注册并注入需要的值  applicationContext.xml

<?xml version="1.0" encoding="UTF-8"?>
<beans
    xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:p="http://www.springframework.org/schema/p"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.1.xsd"
    default-autowire="byName">
    
    <!-- List通过list标签注入值 -->
    <bean class="com.zhaolong.bean.Demo1" id="demo1">
        <property name="list">
            <list>
                <value>张三</value>
                <value>李四</value>
                <value>王五</value>
                <value>张三</value>
                <value>李四</value>
                <value>王五</value>
            </list>
        </property>
    </bean>
    
    <!-- Set通过set标签注入值 -->
    <bean class="com.zhaolong.bean.Demo2" id="demo2">
        <property name="set">
            <set>
                <value>张三</value>
                <value>李四</value>
                <value>王五</value>
                <value>张三</value>
                <value>李四</value>
                <value>王五</value>
            </set>
        </property>
    </bean>
    
    <!-- Map通过 map标签注入 -->
    <bean class="com.zhaolong.bean.Demo3" id="demo3">
        <property name="map">
            <map>
                <entry key="uname">
                    <value>张三</value>
                </entry>
                <entry key="upass">
                    <value>123456</value>
                </entry>
            </map>
        </property>
    </bean>
    
    
    <!-- 给map注入object -->
    
    <bean class="com.zhaolong.bean.Demo3" id="demo32">
        <property name="map">
            <map>
                <entry key="demo1" value-ref="demo1"/>
                <entry key="demo2" value-ref="demo2"/>
            </map>
        </property>
    </bean>
    
    
    <!-- 配置3个学生 -->
    <bean class="com.zhaolong.bean.Student" id="student1">
        <property name="sname">
            <value>诸葛亮</value>
        </property>
    </bean>
    <bean class="com.zhaolong.bean.Student" id="student2">
        <property name="sname">
            <value>周瑜</value>
        </property>
    </bean>
    <bean class="com.zhaolong.bean.Student" id="student3">
        <property name="sname">
            <value>荀彧</value>
        </property>
    </bean>
   

</beans>

 

5.编写测试,从xml里提取bean

package com.zhaolong.test;

import java.util.List;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.zhaolong.bean.Demo1;

public class Demo1Test {
    
    public static void main(String[] args) {
        
        //通过数组的方式指定配置文件
        ApplicationContext ctx=
                new ClassPathXmlApplicationContext(new String[]{"applicationContext.xml"});
        
        Demo1 demo1 = (Demo1) ctx.getBean("demo1");
        
        List<String> list = demo1.getList();
        
        for (String str : list) {
            System.out.println(str);
        }
        
    }
}

 

 

 

 

  

posted @ 2017-06-24 18:19  我是徐大志  阅读(360)  评论(0编辑  收藏  举报
【少年,我看你目光炯炯有神,将来一定能成大事!】