• 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)
  • 相关阅读:
    redis基础2——key的基础使用、五大数据类型和三大特殊数据类型
    升级到 MySQL 8.4,MySQL 启动报错:io_setup() failed with EAGAIN
    Web3对法律的需求
    贪心算法与DFS:九度OJ1030
    逆向分析 工具、加壳、安全防护篇
    出自阿里P8的Java面试神册,涵盖30个技术栈扛住面试官的狂轰乱炸
    信道加密设备与网络加密设备差异性研究和运维保障管理
    CF181A Series of Crimes
    QT网络编程http
    PAT乙级 1001 害死人不偿命的(3n+1)猜想
  • 原文地址:https://blog.csdn.net/qq_25073223/article/details/127700597