• Spring 中如何为Bean注入集合呢?


    转自:

    Spring 中如何为Bean注入集合呢?

    下文讲述Spring中为Bean注入集合的方法分享,如下所示:

    常见的集合类型有:
    List、Set、Map 和 properties


    标签

    集合名称说明
    用于注入 list 类型的值,允许重复
    用于注入 set 类型的值,不允许重复
    用于注入 key-value 的集合,其中 key-value 可以是任意类型
    用于注入 key-value 的集合,其中 key-value 都是字符串类型

    例:

    1. 创建SpringDemo 项目
    2. 在src目录下创建 com.java265 包
    3. 添加相应的 jar 包,可以查看我的第一个Spring程序
    4. 在 com.java265 包下创建 JavaCollection、Man 和 MainApp 类
    5. 在 src 目录下创建 Spring 配置文件 Beans.xml
    6. 运行 SpringDemo 项目

    JavaCollection 类

    package com.java265;
    import java.util.*;
    public class JavaCollection {
        List manList;
        Set manSet;
        Map manMap;
        Properties manProp;
        public void setManList(List manList) {
            this.manList = manList;
        }
        public List getManList() {
            System.out.println("List Elements :" + manList);
            return manList;
        }
        public void setManSet(Set manSet) {
            this.manSet = manSet;
        }
        public Set getManSet() {
            System.out.println("Set Elements :" + manSet);
            return manSet;
        }
        public void setManMap(Map manMap) {
            this.manMap = manMap;
        }
        public Map getManMap() {
            System.out.println("Map Elements :" + manMap);
            return manMap;
        }
        public void setManProp(Properties manProp) {
            this.manProp = manProp;
        }
        public Properties getManProp() {
            System.out.println("Property Elements :" + manProp);
            return manProp;
        }
    }
    
    

    MainApp 类

    package com.java265;
    import org.springframework.context.ApplicationContext;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    public class MainApp {
        public static void main(String[] args) {
            ApplicationContext context = new ClassPathXmlApplicationContext("Beans.xml");
            JavaCollection jc = (JavaCollection) context.getBean("javaCollection");
            jc.getManList();
            jc.getManSet();
            jc.getManMap();
            jc.getManProp();
        }
    }
    
    

    Beans.xml 配置文件

    
    
        
            
                
                    java265爱好者
                    百度
                    java265中文站
                    java265中文站
                
            
            
                
                    java265爱好者
                    百度
                    java265中文站
                    java265中文站
                
            
            
                
                    
                    
                    
                    
                
            
            
                
                    java265爱好者
                    java265爱好者
                    百度
                    java265中文站
                    java265中文站
                
            
        
    
    
    

    运行结果-----
    List Elements :[java265爱好者, 百度, java265中文站, java265中文站]
    Set Elements :[java265爱好者, 百度, java265中文站]
    Map Elements :{1=java265爱好者, 2=百度, 3=java265中文站, 4=java265中文站}
    Property Elements :{two=百度, one=java265爱好者, three=java265中文站, four=java265中文站}

    注入Bean引用
    也可以在集合元素中注入 Bean

    
    
        
            
                
                    
                    
                    java265爱好者
                
            
            
                
                    
                    
                    java265爱好者
                
            
            
                    
                    
                    
                
            
        
    
    
    

    注入null和空字符串的值

    Spring 会把属性的空参数直接当成空字符串来处理
    当我们需传入一个null值,需采用以下写法

    
        
    
    等同于以下set代码
    exampleBean.setEmail("")
    
    当需放入NULL到属性值上时,此时元素用于传入Null值
    
        
    
    等同于以下set代码
    exampleBean.setEmail(null)
  • 相关阅读:
    RK3588 linux内核中断之下半部 tasklet(三)
    .NET周刊【11月第4期 2023-11-26】
    程序员需要建立的对技术、业务、行业、管理、投资的认知
    脚本文件中指定主题、保存路径执行rosbag record脚本文件编写方法
    扬帆牧哲—shopee应该具备的运营思维
    element UI DatePicker 日期选择器 点击时间点可选限制范围前后十五天
    Http协议以及其中的Post、Get等通信模式
    揭秘华为如此多成功项目的产品关键——Charter模板
    tiup cluster deploy
    驱动隐藏进程(eprocess断链)
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/127700597