• 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);
            }
            
        }
    }

      

  • 相关阅读:
    iOS开发——Xcode快捷键
    iOS开发——国际化支持Localizable.strings
    SQL 函数
    常用窗体表单布局
    Extjs grid combo
    怎么完全卸载sql2005?
    ExtJS文件上传
    ExtJS视频学习笔记
    ExtJS问题集——Menu的show()和showBy()函数是什么意思
    C# DataGridView操作
  • 原文地址:https://www.cnblogs.com/hackxiyu/p/7074065.html
Copyright © 2020-2023  润新知