• 复杂类型的属性注入


    ----------------------siwuxie095

       

       

       

       

       

       

       

    复杂类型的属性注入

       

       

    1、有如下几种复杂类型:

       

    1)数组

       

    2)List 集合

       

    3)Map 集合

       

    4)Properties 类型

       

       

       

       

    2、具体实现

       

    1)编写一个普通类

       

    User.java:

       

    package com.siwuxie095.property;

       

    import java.util.Arrays;

    import java.util.List;

    import java.util.Map;

    import java.util.Properties;

       

    public class User {

     

    private String[] arr;

    private List<String> list;

    private Map<String, String> map;

    private Properties properties;

     

    public void setArr(String[] arr) {

    this.arr = arr;

    }

     

    public void setList(List<String> list) {

    this.list = list;

    }

     

    public void setMap(Map<String, String> map) {

    this.map = map;

    }

     

    public void setProperties(Properties properties) {

    this.properties = properties;

    }

     

    public void print() {

    System.out.println(Arrays.toString(arr)+" "+list+" "+map+" "+properties);

    }

     

    }

       

       

       

    2)在配置文件中注入属性

       

    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"

    xsi:schemaLocation="

    http://www.springframework.org/schema/beans

    http://www.springframework.org/schema/beans/spring-beans.xsd">

     

     

    <!-- 注入复杂类型属性 -->

    <bean id="user" class="com.siwuxie095.property.User">

     

    <!-- 数组 -->

    <property name="arr">

    <list>

    <value>小赵</value>

    <value>小钱</value>

    <value>小孙</value>

    <value>小李</value>

    </list>

    </property>

     

    <!-- List 集合 -->

    <property name="list">

    <list>

    <value>张三</value>

    <value>李四</value>

    <value>王五</value>

    </list>

    </property>

     

    <!-- Map 集合 -->

    <property name="map">

    <map>

    <entry key="a" value="老大"></entry>

    <entry key="b" value="老二"></entry>

    <entry key="c" value="老三"></entry>

    <entry key="d" value="老四"></entry>

    </map>

    </property>

     

    <!-- Properties 类型 -->

    <property name="properties">

    <props>

    <prop key="username">root</prop>

    <prop key="password">8888</prop>

    </props>

    </property>

     

    </bean>

     

       

    </beans>

       

       

       

    3)编写一个测试类

       

    TestProperty.java:

       

    package com.siwuxie095.property;

       

    import org.junit.Test;

    import org.springframework.context.ApplicationContext;

    import org.springframework.context.support.ClassPathXmlApplicationContext;

       

    public class TestProperty {

     

    /**

    * 手动加上 @Test 以进行单元测试(将自动导入 JUnit 4 jar 包)

    *

    * 选中方法名,右键->Run As->JUint Test

    */

    @Test

    public void testProperty() {

    // (1) 加载 Spring 的核心配置文件

    ApplicationContext context=new ClassPathXmlApplicationContext("applicationContext.xml");

     

    // (2) 得到核心配置文件中创建的对象(获取 Bean 实例)

    User user=(User) context.getBean("user");

     

    user.print();

    }

    }

       

       

       

       

       

       

       

       

       

    【made by siwuxie095】

  • 相关阅读:
    CentOS7 安装 ElasticSearch7
    非易失性规划的原理与实现方法
    CV Recognition: From AlexNet To Inceptionv4
    有趣的Cache创新@HotChips'33
    计算架构的演进
    集合通信行为分析 基于NCCL
    Performance Scaling Laws
    单机互联拓扑获取 软件方式
    Operator Numerical Check
    论文笔记 — Learning to Collaborate: MultiScenario Ranking via MultiAgent Reinforcement Learning
  • 原文地址:https://www.cnblogs.com/siwuxie095/p/7403140.html
Copyright © 2020-2023  润新知