当前位置: 首页 > news >正文

Spring6梳理12——依赖注入之注入Map集合类型属性

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

12  依赖注入之注入Map集合类型属性

12.1 创建Student类和Teacher类

Student类中创建了run方法,展示了被注入的普通属性和map属性的值

Teacher类则创建了map类型的getter,setter方法以及方便输出的tostring方法

package com.atguigu.spring6.iocxml.dimap;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 Map<String,Teacher> teacherMap;private String sid;private String sname;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);}
}
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() {}}

12.2 创建XML配置文件

由于在Student类中创建了关于Teacher类的map集合,因此在student的bean中配置信息,首先创建普通类型属性,根据实体类中的变量名称,设置name属性值

之后创建Map集合类型属性时,注意entry>key>value或者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"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"><!--1.创建两个类2.注入普通类型属性3.在学生bean注入map集合类型属性--><bean id="teacherone" class="com.atguigu.spring6.iocxml.dimap.Teacher"><property name="teacherId" value="100"></property><property name="teacherName" value="西门庆"></property></bean><bean id="teachertwo" class="com.atguigu.spring6.iocxml.dimap.Teacher"><property name="teacherId" value="200"></property><property name="teacherName" value="东方不败"></property></bean><bean id="student" class="com.atguigu.spring6.iocxml.dimap.Student"><property name="sid" value="2000"></property><property name="sname" value="李四"></property><property name="teacherMap"><map><entry><key><value>10010</value></key><ref bean="teacherone"></ref></entry><entry><key><value>210</value></key><ref bean="teachertwo"></ref></entry></map></property></bean>
</beans>

12.3  创建测试类方法

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

12.4  运行截图


http://www.mrgr.cn/news/35773.html

相关文章:

  • 基于C++(FLTK)实现(CS界面)超市收银系统
  • DK5V100R15VL 贴片12V3.4A同步整流芯片
  • NVM 使用过程问题记录
  • 20240925软考架构-------软考196-200答案解析
  • 【C++掌中宝】C++ 中的空指针救世主——nullptr
  • 求10 个整数中最大值
  • 免费下载6组简历模板,让HR一眼相中你!
  • Hugging Face Transformer:从原理到实战的全面指南
  • 智能养殖场人机交互检测系统源码分享
  • NLP技术在营业选址中的实践与探索
  • SelMatch:最新数据集蒸馏,仅用5%训练数据也是可以的 | ICML‘24
  • Linux基本指令(2)
  • 【GIS】GeoPandas:Python矢量数据处理
  • Java项目: 基于SpringBoot+mybatis+maven实现的智能推荐卫生健康系统分前后台(含源码+数据库+开题报告+任务书+毕业论文)
  • Mybatis Mapper 代理开发
  • 测试面试题:测试计划方案应该包含哪些内容?
  • connect timed out 详解及排查
  • Codeforces Beta Round 4 (Div. 2 Only) 4D. Mysterious Present (最长上升子序列变形)
  • Ubuntu环境切换到服务器某个用户后source等命令和Tab快捷补全都用不了了,提示没找到,但root用户可以
  • PCDN技术如何适应不同用户的需求和网络环境的变化?(贰)