notas de estudio conjunto de resorte de la línea de inyección de 1,2

Primavera colecciones de inyección:

Creamos una clase de prueba en cada una de las siguientes clases para una prueba de funcionamiento con

Manifestación:

public class Test_Test{
    public static void main(String[] args) {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        Test test = ctx.getBean("test",Test.class);
        System.out.println(test);
    }
}

1. Los datos de la matriz de inyección:

Demostración: Crear una clase de prueba

public class Test{
    private String msg[];
    private int data[];

    public String[] getMsg() {
        return msg;
    }

    public void setMsg(String[] msg) {
        this.msg = msg;
    }

    public int[] getData() {
        return data;
    }

    public void setData(int[] data) {
        this.data = data;
    }

    @Override
    public String toString() {
        return "msg=" + Arrays.toString(this.msg)+",data="+Arrays.toString(this.data);
    }
}

Dos matrices pueden recibirse información de objeto, en el uso de la matriz de datos se proporcionan correspondiente al tipo de datos. 

<bean id="test" class="com.project.Test.Test"><!—路径以自己的为准-->
    <property name="data">
        <array value-type="java.lang.Integer">
            <value>10</value>
            <value>20</value>
            <value>30</value>
        </array>
    </property>
    <property name="msg">
        <array value-type="java.lang.String">
            <value>SpringBoot</value>
            <value>Spring</value>
            <value>SpringMVC</value>
        </array>
    </property>
</bean>

  Haga clic sobre los resultados operativos clase de prueba Test_Test:

2. Lista del conjunto de operar una matriz de objetos:

public class Item2 {
    private List<String> msg;
    public void setMsg(List<String> msg) {
        this.msg = msg;
    }
    public List<String> getMsg() {
        return msg;
    }
    @Override
    public String toString() {
        return "msg= "+this.msg;
    }
}

Añadir item2 archivo de configuración de objeto applicationContext.xml, el tipo de matriz y el valor proporcionado 

<bean id="item2" class="com.project.Demo2.Item2">
    <property name="msg">
        <array value-type="java.lang.String">
            <value>"Java工程师"</value>
            <value>"信息安全工程师"</value>
        </array>
    </property>
</bean>

Conjunto conjunto a cabo la implantación puede duplicar los valores, y el método de funcionamiento es el mismo que el de lista

ItemTest clase se ejecuta Ver los resultados

public class TestItem2 {
    public static void main(String[] args) {
        ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
        Item2 item2 = ctx.getBean("item2",Item2.class);
        System.out.println(item2);
    }
}

3. Llenar la colección Mapa

Más de una operación de clase, utilizando el mapa para crear una propiedad: 

public class Item2 {
    private Map<Integer,String> msg;
    public Map<Integer, String> getMsg() {
        return msg;
    }
    public void setMsg(Map<Integer, String> msg) {
        this.msg = msg;
    }    
}

Conjunto de mapas propiedades de los objetos contenidos en la llave de frijol:

<bean id="item2" class="com.project.Demo2.Item2">
    <property name="msg">
        <map key-type="java.lang.Integer" value-type="java.lang.String">
            <entry key="1" value="Spring"></entry>
            <entry key="2" value="MyBatis"></entry>
        </map>
    </property>
</bean>

4. la inyección Propiedades

En el proceso de preparación de desarrollar un conjunto de perfil de inyección es la mayoría de las propiedades de tipo común.

Creación de propiedades tipos de propiedades, inicializado:

public class Item2 {
    //只能设置String类型的数据
    private Properties msg;
    public Properties getMsg() {
        return msg;
    }
    public void setMsg(Properties msg) {
        this.msg = msg;
    }
    @Override
    public String toString() {
        return "msg= "+this.msg;
    }
}

xml archivo de configuración Propiedades de tipos de teclas :

    <bean id="item2" class="com.project.Demo2.Item2">
        <property name="msg">
            <props>
                <prop key="java">www.java.com</prop>
                <prop key="spring">www.spring.cn</prop>
            </props>
        </property>
    </bean>

Haga clic sobre los resultados operativos clase de prueba ItemTest: 

6.Spring lograr definiciones documentos internos que se hace referencia : 

  La creación de la clase departamento Dept, lograr una referencia a los atributos del personal interno de la clase Empleado:


public class Detp {
    private int DetpId;
    private String DetpName;
    private List<Employee> employees;
    public List<Employee> getEmployees() {
        return employees;
    }
    public void setEmployees(List<Employee> employees) {
        this.employees = employees;
    }

    public int getDetpId() {
        return DetpId;
    }
    public String getDetpName() {
        return DetpName;
    }
    public void setDetpId(int detpId) {
        DetpId = detpId;
    }
    public void setDetpName(String detpName) {
        DetpName = detpName;
    }
    @Override
    public String toString() {
        return "部门编号: "+this.DetpId+",部门名称: "+this.DetpName+",雇员信息: "+this.employees;
    }
}

Entonces xml descrito anteriormente perfil relación estructural :

<bean id="dept" class="com.project.Test.Detp">
    <property name="detpName" value="开发部"/>
    <property name="detpId" value="1"/>
    <property name="employees">
	<!--指定数据类型为Employee类-->
        <list value-type="com.project.Test.Employee">	
    <!--使用反射调用员工对象--> 
            <ref bean="empA"/>		
            <ref bean="empB"/>
            <ref bean="empC"/>
        </list>
    </property>
</bean>
<!--设置3个不同的bean对象-->
<bean id="empA" class="com.project.Test.Employee">
    <property name="emp_id" value="15811"/>
    <property name="emp_name" value="EmployeeA"/>
    <!--ref引用其他Bean对象的内容-->
    <property name="detp" ref="dept"/>
</bean>
<bean id="empB" class="com.project.Test.Employee">
    <property name="emp_id" value="15812"/>
    <property name="emp_name" value="EmployeeB"/>
    <property name="detp" ref="dept"/>
</bean>
<bean id="empC" class="com.project.Test.Employee">
    <property name="emp_id" value="15813"/>
    <property name="emp_name" value="EmployeeC"/>
    <property name="detp" ref="dept"/>
</bean>

Haga clic en Empleado resultados de explotación de la clase de prueba :

 

Publicado 58 artículos originales · ganado elogios 31 · Vistas a 40000 +

Supongo que te gusta

Origin blog.csdn.net/qq_37504771/article/details/103154234
Recomendado
Clasificación