• spring怎么去引用/注入集合/数组类型和 怎么通过 util 名称空间创建 list以及 怎么去通过级联属性赋值


    😀前言
    本章是spring基于XML 配置bean系类中第3篇讲解了spring怎么去引用/注入集合/数组类型和怎么通过 util 名称空间创建 list以及怎么去通过级联属性赋值

    🏠个人主页:尘觉主页
    在这里插入图片描述

    🧑个人简介:大家好,我是尘觉,希望我的文章可以帮助到大家,您的满意是我的动力😉😉

    在csdn获奖荣誉: 🏆csdn城市之星2名
    ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 💓Java全栈群星计划top前5
    ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ ⁣⁣⁣⁣ 🤗 端午大礼包获得者

    💕欢迎大家:这里是CSDN,我总结知识的地方,欢迎来到我的博客,感谢大家的观看🥰
    如果文章有什么需要改进的地方还请大佬不吝赐教 先在次感谢啦😊


    在这里插入图片描述

    😊spring怎么去引用/注入集合/数组类型和 怎么通过 util 名称空间创建 list以及 怎么去通过级联属性赋值

    🥰引用/注入集合/数组类型

    🤔 完成步骤

    在 spring 的 ioc 容器, 看看如何给 bean

    其中包括

    list map set 数组 Properties

    1. 创建 Monster.java, 前面有了

    2. 创建Master.java

    创建Master.java
    public class Master {
    
        private String name;//主人名
    
        private List<Monster> monsterList;
        private Map<String, Monster> monsterMap;
        private Set<Monster> monsterSet;
    
        //数组
        private String[] monsterName;
    
        //Java基础
        //这个Properties 是 Hashtable的子类 , 是key-value的形式
        //这里Properties  key和value 都是String
        private Properties pros;
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public List<Monster> getMonsterList() {
            return monsterList;
        }
    
        public void setMonsterList(List<Monster> monsterList) {
            this.monsterList = monsterList;
        }
    
        public Map<String, Monster> getMonsterMap() {
            return monsterMap;
        }
    
        public void setMonsterMap(Map<String, Monster> monsterMap) {
            this.monsterMap = monsterMap;
        }
    
        public Set<Monster> getMonsterSet() {
            return monsterSet;
        }
    
        public void setMonsterSet(Set<Monster> monsterSet) {
            this.monsterSet = monsterSet;
        }
    
        public String[] getMonsterName() {
            return monsterName;
        }
    
        public void setMonsterName(String[] monsterName) {
            this.monsterName = monsterName;
        }
    
        public Properties getPros() {
            return pros;
        }
    
        public void setPros(Properties pros) {
            this.pros = pros;
        }
    
        @Override
        public String toString() {
            return "Master{" +
                    "name='" + name + '\'' +
                    ", monsterList=" + monsterList +
                    ", monsterMap=" + monsterMap +
                    ", monsterSet=" + monsterSet +
                    ", monsterName=" + Arrays.toString(monsterName) +
                    ", pros=" + pros +
                    '}';
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    配置 beans.xml

    给list属性赋值
    给map属性赋值
    给set属性赋值

    给数组属性赋值
    说一句: array标签中使用 value 还是 bean , ref … 要根据你的业务决定

    给Properties属性赋值 结构k(String)-v(String)

        
        
            
    
            
            
                
                    
                    
    
                    
    
                    
                    
                        
                        
                        
                    
                
            
    
            
            
                
                    
                        
                            monster03
                        
                        
                        
                    
                    
                        
                            monster04
                        
                        
                    
                
            
    
            
    
            
                
                    
                    
                    
                        
                        
                        
                    
                
            
            
    
            
                
                    小妖怪
                    大妖怪
                    老妖怪
                
            
    
            
            
                
                    root
                    123456
                    127.0.0.1
                
            
        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42
    • 43
    • 44
    • 45
    • 46
    • 47
    • 48
    • 49
    • 50
    • 51
    • 52
    • 53
    • 54
    • 55
    • 56
    • 57
    • 58
    • 59
    • 60
    • 61
    • 62
    • 63
    • 64
    • 65
    • 66
    • 67
    • 68
    • 69
    • 70
    • 71
    • 72
    • 73
    • 74
    • 75
    • 76
    创建setCollectionByPro
    • 获取 list 集合
    • 获取 map 集合
    • 获取 set
    • 获取数组
    • 获取 properties 集合
        public void setCollectionByPro() {
            ApplicationContext ioc = new ClassPathXmlApplicationContext("beans.xml");
            Master master01 = ioc.getBean("master01", Master.class);
    
            //获取 list 集合
            System.out.println("======list=======");
            List<Monster> monster_list = master01.getMonsterList();
            for (Monster monster : monster_list) {
                System.out.println(monster);
            }
    
            //获取 map 集合
            System.out.println("======map=======");
            Map<String, Monster> monster_map = master01.getMonsterMap();
            Set<Map.Entry<String, Monster>> entrySet = monster_map.entrySet();
            for (Map.Entry<String, Monster> entry : entrySet) {
                System.out.println(entry);
            }
    
            //获取 set
            System.out.println("======set=======");
            Set<Monster> monsterSet = master01.getMonsterSet();
            for (Monster monster : monsterSet) {
                System.out.println(monster);
            }
    
            //获取数组
            System.out.println("======数组=======");
            String[] monsterName = master01.getMonsterName();
            for (String s : monsterName) {
                System.out.println("妖怪名= " + s);
            }
    
            //获取 properties 集合
            System.out.println("======properties=======");
            Properties pros = master01.getPros();
            String property1 = pros.getProperty("k1");
            String property2 = pros.getProperty("k2");
            String property3 = pros.getProperty("k3");
            System.out.println(property1 + "\t" + property2 + "\t" + property3);
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    • 32
    • 33
    • 34
    • 35
    • 36
    • 37
    • 38
    • 39
    • 40
    • 41
    • 42

    🥰通过 util 名称空间创建 list

    spring 的 ioc 容器, 通过 util 名称空间来创建 list 集合,可以当做创建 bean 对象的工具来

     //使用util:list名称空间给属性赋值
        @Test
        public void setBeanByUtilList() {
    
            ApplicationContext ioc =
                    new ClassPathXmlApplicationContext("beans.xml");
    
            BookStore bookStore = ioc.getBean("bookStore", BookStore.class);
            System.out.println("bookStore=" + bookStore);
    
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    🤔完成步骤

    创建BookStore 类

    无参构造器,如果你没有其它的构造器,该无参构造器可以不写
    但是如果你有其它的构造器,则必须显式的定义一下无参构造器

    public class BookStore {
        //书
        private List<String> bookList;
    
        //无参构造器,如果你没有其它的构造器,该无参构造器可以不写
        //但是如果你有其它的构造器,则必须显式的定义一下无参构造器
        public BookStore() {
        }
    
        public List<String> getBookList() {
            return bookList;
        }
    
        public void setBookList(List<String> bookList) {
            this.bookList = bookList;
        }
    
        @Override
        public String toString() {
            return "BookStore{" +
                    "bookList=" + bookList +
                    '}';
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    修改 beans.xml , 增加配置

    如果没有自动导入则复制这二行 到上面

    xmlns:util=“http://www.springframework.org/schema/util”
    xmlns:context=“http://www.springframework.org/schema/context”

     
        
            三国演义
            红楼梦
            西游记
            水浒传
        
        
    
        
            
        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    🥰级联属性赋值

    spring 的 ioc 容器, 可以直接给对象属性的属性赋值, 即级联属性赋值

    //给属性进行级联赋值
        @Test
        public void setBeanByRelation() {
    
            ApplicationContext ioc =
                    new ClassPathXmlApplicationContext("beans.xml");
    
            Emp emp = ioc.getBean("emp", Emp.class);
            System.out.println("emp=" + emp);
    
        }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11

    🤔完成步骤

    创建Dept.java
    public class Dept {
        private String name;
    
        public Dept() {
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        @Override
        public String toString() {
            return "Dept{" +
                    "name='" + name + '\'' +
                    '}';
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    创建Emp.java
    public class Emp {
        private String name;
        private Dept dept;
    
        public Emp() {
        }
    
        public String getName() {
            return name;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public Dept getDept() {
            return dept;
        }
    
        public void setDept(Dept dept) {
            this.dept = dept;
        }
    
        @Override
        public String toString() {
            return "Emp{" +
                    "name='" + name + '\'' +
                    ", dept=" + dept +
                    '}';
        }
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21
    • 22
    • 23
    • 24
    • 25
    • 26
    • 27
    • 28
    • 29
    • 30
    • 31
    修改 beans.xml
    
        
        
        
            
            
            
            
        
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9

    😄总结

    本篇详细的讲解了spring怎么去引用/注入集合/数组类型和
    怎么通过 util 名称空间创建 list以及 怎么去通过级联属性赋值的详细说明和代码演示

    spring基于XML 配置bean系类
    第一篇–>怎么通过类型来获取 bean以及为什么可以通过构造器配置 bean

    第二篇–> 怎么通过通过 p 名称空间配置 bean以及怎么去引用/注入其它 bean 对象–ref和怎么去引用/注入内部 bean 对象

    😁热门专栏推荐
    想学习vue的可以看看这个
    java基础合集
    数据库合集
    redis合集
    nginx合集
    linux合集
    等等等还有许多优秀的合集在主页等着大家的光顾感谢大家的支持

    🤔欢迎大家加入我的社区 尘觉社区

    文章到这里就结束了,如果有什么疑问的地方请指出,诸佬们一起来评论区一起讨论😁
    希望能和诸佬们一起努力,今后我们一起观看感谢您的阅读🍻
    如果帮助到您不妨3连支持一下,创造不易您们的支持是我的动力🤞

  • 相关阅读:
    神经网络 #数据挖掘 #Python
    快速创建软件安装包-ClickOnce
    解锁新技能《SkyWalking Java Agent配置安装》
    router-link 和 router-view的区别
    scrcpy笔记
    【HarmonyOS】鸿蒙传感器采样评率、鸿蒙设置屏幕常亮问题小结
    Java 工程师面试题汇总,全会月薪至少 3W
    hashMap索引原理
    并发编程day01
    Session会话追踪的实现机制
  • 原文地址:https://blog.csdn.net/apple_67445472/article/details/131996411