您的位置:首页 > 健康 > 养生 > 免费的源码分享网站_阿里巴巴1688_seo搜索引擎排名优化_最佳搜索引擎磁力王

免费的源码分享网站_阿里巴巴1688_seo搜索引擎排名优化_最佳搜索引擎磁力王

2024/10/5 20:23:37 来源:https://blog.csdn.net/haozihua/article/details/142567250  浏览:    关键词:免费的源码分享网站_阿里巴巴1688_seo搜索引擎排名优化_最佳搜索引擎磁力王
免费的源码分享网站_阿里巴巴1688_seo搜索引擎排名优化_最佳搜索引擎磁力王

以上笔记来源:
尚硅谷Spring零基础入门到进阶,一套搞定spring6全套视频教程(源码级讲解)https://www.bilibili.com/video/BV1kR4y1b7Qc

13  依赖注入之引入集合Bean属性

13.1  创建Lesson类,student类和teacher实体类

由于1个学生对于多个课程,因此在学生实体类中创建lessonList的集合变量,并且在学生实体类中创建教师Map集合变量

package com.atguigu.spring6.iocxml.dimap;/*** @package: com.atguigu.spring6.iocxml.dimap* @className: Lesson* @Description:* @author: haozihua* @date: 2024/9/26 14:39*/
public class Lesson {private String lessonName;public String getLessonName() {return lessonName;}public void setLessonName(String lessonName) {this.lessonName = lessonName;}@Overridepublic String toString() {return "Lesson{" +"lessonName='" + lessonName + '\'' +'}';}
}
package com.atguigu.spring6.iocxml.dimap;import java.util.List;
import java.util.Map;/*** @package: com.atguigu.spring6.iocxml.dimap* @className: Student* @Description:* @author: haozihua* @date: 2024/8/20 15:20*/
public class Student {private List<Lesson> lessonList;//一个学生对应很多个老师private Map<String,Teacher> teacherMap;private String sid;private String sname;public List<Lesson> getLessonList() {return lessonList;}public void setLessonList(List<Lesson> lessonList) {this.lessonList = lessonList;}public String getSid() {return sid;}public void setSid(String sid) {this.sid = sid;}public String getSname() {return sname;}public void setSname(String sname) {this.sname = sname;}public Map<String, Teacher> getTeacherMap() {return teacherMap;}public void setTeacherMap(Map<String, Teacher> teacherMap) {this.teacherMap = teacherMap;}public void run() {System.out.println("学生编号: " + sid + " " + "学生名称:" + sname);System.out.println(teacherMap);for (String teacher : teacherMap.keySet()) {System.out.println(teacher);}for (Teacher teacher : teacherMap.values()) {System.out.println(teacher);}}
}
package com.atguigu.spring6.iocxml.dimap;/*** @package: com.atguigu.spring6.iocxml.dimap* @className: Teacher* @Description:* @author: haozihua* @date: 2024/8/20 15:21*/
public class Teacher {private Integer teacherId;private String teacherName;public Integer getTeacherId() {return teacherId;}public void setTeacherId(Integer teacherId) {this.teacherId = teacherId;}public String getTeacherName() {return teacherName;}public void setTeacherName(String teacherName) {this.teacherName = teacherName;}@Overridepublic String toString() {return "Teacher{" +"teacherId=" + teacherId +", teacherName='" + teacherName + '\'' +'}';}public Teacher(Integer teacherId, String teacherName) {this.teacherId = teacherId;this.teacherName = teacherName;}public Teacher() {}}

13.2  创建XML配置文件

在使用util:list以及util:map标签时,首先必须对头部约束文件进行设置,覆盖约束内容如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd">

之后,可以将Property属性中name属性以及<list>,<map>标签转换为util:list以及util:map标签,从而简化注入流程。
之后将util:list>id>ref bean标签以及util:map>id>entry>key>value或者key>ref设置好

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xmlns:util="http://www.springframework.org/schema/util"xsi:schemaLocation="http://www.springframework.org/schema/utilhttp://www.springframework.org/schema/util/spring-util.xsdhttp://www.springframework.org/schema/beanshttp://www.springframework.org/schema/beans/spring-beans.xsd"><!--1.创建三个对象2.注入普通类型属性3.使用util:类型 定义4.在学生bean引入util:类型定义bean,完成list,map类型的注入--><bean id="student" class="com.atguigu.spring6.iocxml.dimap.Student"><property name="sid" value="10000"></property><property name="sname" value="lucy"></property><property name="lessonList" ref="lessonList"></property><property name="teacherMap" ref="teacherMap"></property></bean><util:list id="lessonList"><ref bean="lessonone"></ref><ref bean="lessontwo"></ref></util:list><util:map id="teacherMap"><entry><key><value>10010</value></key><ref bean="teacherone"></ref></entry><entry><key><value>10011</value></key><ref bean="teachertwo"></ref></entry></util:map><bean id="lessonone" class="com.atguigu.spring6.iocxml.dimap.Lesson"><property name="lessonName" value="java开发"></property></bean><bean id="lessontwo" class="com.atguigu.spring6.iocxml.dimap.Lesson"><property name="lessonName" value="python开发"></property></bean><bean id="teacherone" class="com.atguigu.spring6.iocxml.dimap.Teacher"><property name="teacherId" value="101"></property><property name="teacherName" value="贾宝玉"></property></bean><bean id="teachertwo" class="com.atguigu.spring6.iocxml.dimap.Teacher"><property name="teacherId" value="102"></property><property name="teacherName" value="李时珍"></property></bean></beans>

13.3  运行测试类方法

    @Testpublic void Testp(){ApplicationContext context =new ClassPathXmlApplicationContext("bean-diref.xml");Student student = context.getBean("student",Student.class);student.run();}

13.4  运行结果如图所示 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com