spring属性注入

注入方式

set方法注入spring属性注入_第1张图片
构造函数注入spring属性注入_第2张图片
p名称空间注入spring属性注入_第3张图片
spel注入(#表示理解为引用)spring属性注入_第4张图片

练习代码:

    
    <bean name="person" class="com.spring.bean.Person">
        <constructor-arg name="name" value="12" index="0" type="java.lang.Integer">constructor-arg>
        <constructor-arg name="car" ref="car" index="1" >constructor-arg>
    bean>
    <bean name="car" class="com.spring.bean.Car">
        <property name="name" value="兰博基尼">property>
        <property name="color" value="绿色">property>
    bean>
    
    <bean name="person1" class="com.spring.bean.Person" p:name="Alan2" p:age="18" p:car-ref="car">bean>
    
    <bean name="person2"  class="com.spring.bean.Person">
        <property name="name" value="#{person1.name}">property>
        <property name="age" value="#{person1.age}">property>
        <property name="car" ref="car">property>
    bean>

复杂类型注入

数组这里写图片描述spring属性注入_第5张图片
List这里写图片描述spring属性注入_第6张图片
Mapspring属性注入_第7张图片
Propertiesspring属性注入_第8张图片

练习代码:
applicationContext.xml

    
    <bean name="colleactionsBean" class="com.spring.bean.ColleactionsBean">
        
        
        
        <property name="array">
            <array>
                <value>1value>
                <value>2value>
                <value>3value>
            array>
        property>
        <property name="list">
            <list>
                <value>alanList1value>
                <value>alanList2value>
                <value>alanList3value>
            list>
        property>
        <property name="map">
            <map>
                <entry key="alanMap" value="12">entry>
                <entry key="alan1Map" value="13">entry>
                <entry key="alan2Map" value="14">entry>
            map>
        property>
        <property name="properties">
            <props>
                <prop key="prop1">p1prop>
                <prop key="prop2">p2prop>
                <prop key="prop3">p3prop>
            props>
        property>
    bean>

ColleactionsBean.java

package com.spring.bean;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.Properties;

public class ColleactionsBean {
    private int[] array;
    private List list;
    private Map map;
    private Properties properties;
    public int[] getArray() {
        return array;
    }
    public void setArray(int[] array) {
        this.array = array;
    }
    public List getList() {
        return list;
    }
    public void setList(List list) {
        this.list = list;
    }
    public Map getMap() {
        return map;
    }

    @Override
    public String toString() {
        return "ColleactionsBean [array=" + Arrays.toString(array) + ", list=" + list + ", map=" + map + ", properties="
                + properties + "]";
    }
    public void setMap(Map map) {
        this.map = map;
    }
    public Properties getProperties() {
        return properties;
    }
    public void setProperties(Properties properties) {
        this.properties = properties;
    }

}

TestDemo.java

package com.test;

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

import com.spring.bean.User;

public class TestDemo {
    private  ClassPathXmlApplicationContext context;
    @Test
    public void testDemo() throws InterruptedException{
        context = new ClassPathXmlApplicationContext("applicationContext.xml");
        /*scope=prototype的javaBean在创建容器时候不会被创建*/
        User bean = (User)context.getBean("user");
        //User bean1 = (User) context.getBean("user");
        //System.out.println(bean==bean1);
        bean.setName("DreamZuora");
        bean.setAge(18);
        System.out.println(bean);
        /*单例对象可以销毁,多例对象不会被销毁*/
        context.close();
    }

}

你可能感兴趣的:(java框架SSM,javaSSM框架入门与实战)