基于Xml方式Bean的配置-Bean的依赖注入

Bean的依赖注入配置

  • Bean的依赖注入方式
    • 注入方式配置方式
      通过Bean的set方法注入
      <property name="userDAO" ref="userDAO"/>
      <property name="userDAO" value="userDAO"/>
      通过构造Bean的方法进行注入
      <constructor-arg name="userDAO" ref="userDAO"/>
      <constructor-arg name="userDAO" value="userDAO"/>

            

      • 其中,ref是reference的缩写形式,翻译为:涉及,参考的意思,用于引用其它Bean的id,value用于指定属性值

  • 注入数据类型

    • 普通数据类型:String、int、boolean,通过value属性指定

    • 引用数据类型:UserDAOImpl,通过ref属性指定

    • 集合数据类型:List、Map、Properties等

      • 普通数据类型的集合

        • 配置文件

          •     <bean name="UserService" class="com.example.Service.Impl.UserServiceImpl"><property name="stringList"><list><value>aaaa</value><value>bbbb</value><value>cccc</value></list></property></bean>
      • 引用数据类型的集合

        • 配置文件(两种方式都可以)

        •         <property name="DAOList"><list><ref bean="DAO1"></ref><ref bean="DAO2"></ref><ref bean="DAO3"></ref><ref bean="DAO4"></ref></list></property></bean><bean name="DAO1" class="com.example.DAO.Impl.UserDAOImpl"></bean><bean name="DAO2" class="com.example.DAO.Impl.UserDAOImpl"></bean><bean name="DAO3" class="com.example.DAO.Impl.UserDAOImpl"></bean><bean name="DAO4" class="com.example.DAO.Impl.UserDAOImpl"></bean>

        •         <property name="DAOList"><list><bean name="DAO1" class="com.example.DAO.Impl.UserDAOImpl"></bean><bean name="DAO2" class="com.example.DAO.Impl.UserDAOImpl"></bean><bean name="DAO3" class="com.example.DAO.Impl.UserDAOImpl"></bean><bean name="DAO4" class="com.example.DAO.Impl.UserDAOImpl"></bean></list></property>
      • bean的对应类

        • package com.example.Service.Impl;import com.example.DAO.UserDAO;
          import com.example.Service.UserService;import java.util.List;public class UserServiceImpl implements UserService {private List<String> stringList;private List<UserDAO> DAOList;public void setStringList(List stringList) {this.stringList = stringList;}public void setDAOList(List daoList) {this.DAOList = daoList;}public void showStringList() {System.out.println(stringList);System.out.println(DAOList);}}
          
      • 测试代码

        • package com.example.Test;import com.example.Service.Impl.UserServiceImpl;
          import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestApplicationContext {public static void main(String[] args) {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("application.xml");UserServiceImpl userServiceImpl = (UserServiceImpl) context.getBean("UserService");userServiceImpl.showStringList();}
          }
          
      • 运行结果

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/112700.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

异步FIFO设计的仿真与综合技术(6)

概述 本文主体翻译自C. E. Cummings and S. Design, “Simulation and Synthesis Techniques for Asynchronous FIFO Design 一文&#xff0c;添加了笔者的个人理解与注释&#xff0c;文中蓝色部分为笔者注或意译。前文链接&#xff1a; 异步FIFO设计的仿真与综合技术&#xf…

天选之子C++是如何发展起来的?如何学习C++呢?

天选之子C是如何发展起来的&#xff1f;如何学习C呢? 一、什么是C二、C发展史三、C的重要性3.1 语言的使用广泛度3.2 在工作领域 四、如何学习C4.1 大佬怎么学&#xff1f;4.2 自己怎么学 一、什么是C C语言是结构化和模块化的语言&#xff0c;适合处理较小规模的程序。对于复…

docker-compose使用

docker-compose docker的项目编排 一、安装docker-compose Rocky Linux Rocky Linux安装Docker Compose的步骤如下&#xff1a; 安装Docker。您可以使用以下命令安装Docker&#xff1a; sudo dnf install docker-ce docker-ce-cli containerd.io安装Docker Compose。您可以…

这些提高摸鱼效率的自动化测试技巧,提高打工人幸福感~

最近有许多小伙伴都在吐槽打工好难。 每天都是执行许多重复的任务 例如阅读新闻、发邮件、查看天气、打开书签、清理文件夹等等&#xff0c; 使用自动化脚本&#xff0c;就无需手动一次又一次地完成这些任务&#xff0c; 非常方便啊有木有&#xff1f;&#xff01; 今天就…

idea打开项目时不小心点了attach,如何恢复?

右击映射的项目&#xff0c;选择Remove from Project View即可。

网络分层模型和常见协议介绍

文章目录 网络分层模型和常见协议介绍网络分层模型介绍常见各层协议介绍 网络分层模型和常见协议介绍 理解性记忆&#xff1a;这是我自己创造的一个理解性记忆口诀&#xff0c;大家别笑我&#x1f604; 七层&#xff1a;因为七层协议并没有得到应用&#xff0c;所以物&#xff…

可以实时监控电脑的软件有哪些?

在当今的数字化世界中&#xff0c;计算机已经成为我们生活和工作中不可或缺的一部分。然而&#xff0c;随着计算机使用的普及&#xff0c;安全问题也日益突出。为了保护我们的计算机和数据&#xff0c;实时监控电脑的使用情况变得越来越重要。本文将为您介绍一些实时监控电脑的…

【深度学习】 Python 和 NumPy 系列教程(十三):Matplotlib详解:1、2d绘图(上):折线图、散点图、柱状图、直方图、饼图

目录 一、前言 二、实验环境 三、Matplotlib详解 0、绘图风格 1、2d绘图类型 0. 设置中文字体 1. 折线图&#xff08;Line Plot&#xff09; 2. 散点图&#xff08;Scatter Plot&#xff09; 3. 柱状图&#xff08;Bar Plot&#xff09; 4. 直方图&#xff08;Histogr…

第二证券:迎政策利好,工业母机概念拉升,华东数控等涨停

工业母机概念19日盘中发力拉升&#xff0c;到发稿&#xff0c;博亚精工涨超11%&#xff0c;华东重机、华东数控涨停&#xff0c;华辰配备、华中数控涨超4%。 音讯面上&#xff0c;近来&#xff0c;财政部、税务总局、国家发改委、工信部发布《关于前进集成电路和工业母机企业研…

按月统计数据——mysql实现

业务场景 对某类业务数据&#xff0c;按月统计数量&#xff0c;返回当年各个月份的任务数量。 思路 按照创建时间&#xff0c;格式化为yyyy-mm的month字段&#xff0c;然后根据month进行分组查询&#xff0c;统计count作为数量 SELECT DATE_FORMAT(create_time, %Y-%m) AS mon…

Mac 安装软件各种报错解决方案

Mac 安装软件各种报错解决方案 文章目录 Mac 安装软件各种报错解决方案一. 打开允许“允许任何来源”二. 无法打开"xxx"&#xff0c;因为它不是从App Store下载三. 无法打开"xxx"&#xff0c;因为 Apple无法检查其是否包含恶意软件。四. "xxx"已…

央媒发稿不能改?媒体发布新闻稿有哪些注意点

传媒如春雨&#xff0c;润物细无声&#xff0c;大家好&#xff0c;我是51媒体网胡老师。 “央媒发稿不能改”是媒体行业和新闻传播领域的普遍理解。央媒&#xff0c;即中央主要媒体&#xff0c;是权威性的新闻源&#xff0c;当这些媒体发布新闻稿或报道时&#xff0c;其他省、…