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

学习Spring的第五天(Bean的依赖注入)

Bean的依赖注入有两种方式:

一 . 常规Bean的依赖注入

很简单,不过多赘述了,注意ref: 是构造函数或set方法的参数,一般为对象, value: 是构造函数或set方法的参数,一般为值.   看下图

  1.1 下面来演示一下集合数据类型的关于Bean的依赖注入

1.1.1这是List的注入(演示泛型为String和UserDao两种情况)

在UserServiceImpl.java里的代码

   private List<String> stringList;public void setStringList(List<String> stringList) {this.stringList = stringList;}private List<UserDao> userDaoList;public void setUserDaoList(List<UserDao> userDaoList) {this.userDaoList = userDaoList;}

applicationContext.xml里的配置代码

 <bean id="userService" class="com.itheima.service.impl.UserServiceImpl"><property name="stringList" ><list><value>aaa</value><value>bbb</value><value>ccc</value></list></property><property name="userDaoList"><list><ref bean="userDaoA"></ref><ref bean="userDaoB"></ref><ref bean="userDaoC"></ref></list></property></bean><bean id="userDaoA" class="com.itheima.dao.impl.UserDaoImpl"></bean><bean id="userDaoB" class="com.itheima.dao.impl.UserDaoImpl"></bean><bean id="userDaoC" class="com.itheima.dao.impl.UserDaoImpl"></bean>

1.1.2同理set与此类似,不在演示

1.1.3map也很简单,大致与上文类似,下面给出配置文件不太一样的地方

<property name="map"><map><entry key="d1" value-ref="userDao1"></entry><entry key="d2" value-ref="userDao2"></entry></map></property>

Propertis:键值对,键与值都是字符串;

1.1.4定义与map有点区别

private Properties properties;public void setProperties(Properties properties) {this.properties = properties;}

 这是配置文件代码

<property name="properties"><props><prop key="p1">ppp1</prop><prop key="p2">ppp2</prop></props></property>

二.扩展

可用autowire自动装配,一般用ByName,注意set方法名称与注入的Bean ID一致,否则会报错

http://www.lryc.cn/news/283685.html

相关文章:

  • GAN在图像数据增强中的应用
  • Git推送本地文件到仓库
  • Django笔记(一):环境部署
  • 用Pytorch实现线性回归模型
  • WordPress模板层次与常用模板函数
  • HarmonyOS应用开发者高级认证试题库(鸿蒙)
  • 系分备考计算机网络传输介质、通信方式和交换方式
  • js原生面试总结
  • 接口自动化测试框架设计
  • 详解ISIS动态路由协议
  • Linux操作系统----gdb调试工具(配实操图)
  • 去除GIT某个时间之前的提交日志
  • 4 python快速上手
  • 单元测试-spring-boot-starter-test+junit5
  • CentOS 7上安装Anaconda 详细教程
  • 2023年全球软件架构师峰会(ArchSummit深圳站):核心内容与学习收获(附大会核心PPT下载)
  • RT-Thread Studio学习(十六)定时器计数
  • 【linux进程间通信(一)】匿名管道和命名管道
  • 第11章 jQuery
  • leetcode:1736. 替换隐藏数字得到的最晚时间(python3解法)
  • MySQL存储函数与存储过程习题
  • 基于 Hologres+Flink 的曹操出行实时数仓建设
  • 【Docker】实战多阶段构建 Laravel 镜像
  • 【MATLAB源码-第118期】基于matlab的蜘蛛猴优化算法(SMO)无人机三维路径规划,输出做短路径图和适应度曲线。
  • 【计算机组成与体系结构Ⅱ】Tomasulo 算法模拟和分析(实验)
  • Nginx 简介
  • C++入门学习(一)写一个helloworld
  • ChatGPT 股市知识问答
  • uniapp多端评价页
  • 行为树(Behavior Trees)