Spring 6.0官方文档示例(14) Collection类型数据的注入

文章展示了如何在Spring框架中定义一个复杂的对象(ComplexObject),包括其属性如hobby,friend,adminEmail和basicInfo。接着,它定义了一个XML配置文件来设置这些属性的值。最后,代码演示了如何从Spring应用上下文中获取并打印这些配置的bean。
摘要由CSDN通过智能技术生成

一、定义类:

package cn.edu.tju.domain;

import java.util.List;
import java.util.Map;
import java.util.Properties;
import java.util.Set;

public class ComplexObject {
    private Set<String> hobby;
    private List<String> friend;
    private Properties adminEmail;
    private Map<String,String> basicInfo;

    public Set<String> getHobby() {
        return hobby;
    }

    public void setHobby(Set<String> hobby) {
        this.hobby = hobby;
    }

    public List<String> getFriend() {
        return friend;
    }

    public void setFriend(List<String> friend) {
        this.friend = friend;
    }

    public Properties getAdminEmail() {
        return adminEmail;
    }

    public void setAdminEmail(Properties adminEmail) {
        this.adminEmail = adminEmail;
    }

    public Map<String, String> getBasicInfo() {
        return basicInfo;
    }

    public void setBasicInfo(Map<String, String> basicInfo) {
        this.basicInfo = basicInfo;
    }
}

二、定义配置文件:

<?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
  https://www.springframework.org/schema/beans/spring-beans.xsd">

 <bean id="myComplexObject" class="cn.edu.tju.domain.ComplexObject">
     <property name="hobby">
         <list>
             <value>football</value>
             <value>baseball</value>
         </list>
     </property>

     <property name="adminEmail">
         <props>
             <prop key="david">david@beck.com</prop>
             <prop key="paul">paul@schools.com</prop>
         </props>
     </property>
     <property name="friend">
         <set>
             <value>tyler</value>
             <value>swift</value>
         </set>
     </property>

     <property name="basicInfo">
         <map>
            <entry key="age" value="25"></entry>
             <entry key="name" value="link"></entry>

         </map>
     </property>
 </bean>





</beans>

三、从容器获取bean

package cn.edu.tju;
import cn.edu.tju.domain.ComplexObject;
import cn.edu.tju.service.TestService;
import org.springframework.beans.factory.xml.XmlBeanDefinitionReader;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.context.support.GenericApplicationContext;

public class Start5 {
    public static void main(String[] args) {
        GenericApplicationContext context = new GenericApplicationContext();
        new XmlBeanDefinitionReader(context).loadBeanDefinitions("beans.xml");
        context.refresh();

        ComplexObject test = (ComplexObject) context.getBean("myComplexObject");
        System.out.println(test.getAdminEmail());
        System.out.println(test.getFriend());
        System.out.println(test.getBasicInfo());
        System.out.println(test.getHobby());

    }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值