首页 > 其他分享 >DI依赖注入环境

DI依赖注入环境

时间:2023-05-08 12:01:18浏览次数:35  
标签:Set 方式 依赖 DI 实体类 books 数组 注入

我还是在跟着狂神来学习Spring5

1.构造器注入
2.Set方式注入【重点】
3.扩展方式注入

我在这里记录一下set依赖注入的步骤吧

Set方式注入:
分为依赖:bean对象的创建依赖于容器 注入:bean对象中的所有属性,由容器来注入

先放一下目录结构吧

第一步:配置好实体类

首先写了一些不同类型的实体类

第二步,各种方式的注入这是重点

直接放代码吧,具体注释都在里面

<?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">

    <bean id="address" class="org.example.pojo.Address">
        <property name="address" value="河北石家庄"></property>
    </bean>
    <bean id="student" class="org.example.pojo.Student">
        <!--第一种,普通值注入:value-->
        <property name="name" value="yezhaoxin"></property>

        <!--第二种,Bean注入:ref-->
        <property name="address" ref="address"></property>
        <!--第三种,数组注入:方式1.array-->
        <property name="books">
            <array>
                <value>1.数组注入</value>
                <value>2.通过array</value>
                <value>3.String[] books</value>
            </array>
        </property>
        <!--第三种,数组注入:方式2.list-->
        <property name="hobbys">
            <list>
                <value>1.数组注入方式2</value>
                <value>2.通过list</value>
                <value><!--3.List<String> hobbys--></value>
            </list>
        </property>

        <!--第三种,数组注入:方式3: Map-->
        <property name="card">
            <map>
                <entry key="身份证" value="411525"></entry>
                <entry key="银行卡" value="123456"></entry>
            </map>
        </property>

        <!--第三种,数组注入:方式4: Set-->
        <property name="game">
            <set>
                <value>1.数组注入方式4</value>
                <value>2.通过Set</value>
                <value><!--3.Set<String> game--></value>
            </set>
        </property>

        <!--第四种,空值注入-->
        <property name="wife">
            <null/>
        </property>

        <!--特殊类型注入-->
        <property name="info">
            <props>
                <prop key="学号">20213709</prop>
                <prop key="性别">男</prop>
                <prop key="姓名">小叶</prop>
            </props>
        </property>


    </bean>

</beans>

第三步,书写测试类输出所有信息

测试结果

PS.遇到的问题

数组定义的books

但是不能使用,输出时出现这种情况

检查了一下,发现定义实体类的时候返回值出现了问题
将原本的返回这books,修改成下面图片的形式就可以了

不知道这是不是强制转换

标签:Set,方式,依赖,DI,实体类,books,数组,注入
From: https://www.cnblogs.com/yzx-sir/p/17381069.html

相关文章

  • Nullbyte - SQL注入大赏
    主机发现sudonmap-sT--min-rate10000-p-xx.xx.xx.xx-oAnmapscan/portssudonmap-sT-sC-sV-O-pxx.xx.xx.xx-oAnmapscan/detailsudonmap-sU--top-ports20xx.xx.xx.xx-oAnmapscan/udpsudonmap-sU-pxx.xx.xx.xx sudonmap--script=vuln-pxx.xx......
  • 本地图文直接复制到UEditor编辑器中
    ​ 自动导入Word图片,或者粘贴Word内容时自动上传所有的图片,并且最终保留Word样式,这应该是Web编辑器里面最基本的一个需求功能了。一般情况下我们将Word内容粘贴到Web编辑器(富文本编辑器)中时,编辑器都无法自动上传图片。需要用户手动一张张上传Word图片。如果只有一张图片还能够接......
  • ASEMI代理ADUM3211TRZ-RL7原装ADI车规级ADUM3211TRZ-RL7
    编辑:llASEMI代理ADUM3211TRZ-RL7原装ADI车规级ADUM3211TRZ-RL7型号:ADUM3211TRZ-RL7品牌:ADI/亚德诺封装:SOIC-8批号:2023+引脚数量:8工作温度:-40°C~125°C安装类型:表面贴装型ADUM3211TRZ-RL7汽车芯片ADUM3211TRZ-RL7特性符合IEC61000-4-x标准的增强系统级ESD性能高温操......
  • [Redis] 解决多个 Redis 服务同步删除有关联的 key
    以下内容基于ChatGPT的回答。我有多个redis服务,比如有A,B,C三个,他们供不同的业务服务使用。有一个需求是,A服务中删除一个key后,希望能同时删除B,C服务中有关联的key,但这个key名称不一样相同,关联关系是可配置的。请问有什么办法实现?解决方案可以使用Redis的发布......
  • 【面向对象依赖关系概念总结】面向对象程序设计的五种依赖关系
    ​目录 简介继承关系聚合关系组合关系关联关系依赖关系总结 简介        面向对象程序设计中,要实现复杂的模块化系统,需要将系统划分为多个对象并组织它们之间的关系,这就涉及到常说的面向对象五大依赖关系。这五种依赖关系分别是:继承、聚合、组合、关联和依......
  • redis 分布式锁
    如何利用Redis实现锁机制用一句话概括的说,其实Redis实现锁机制其实就是在Redis中设置一个key-value,当key存在时,即上锁,删除key即解锁。当然要想实现一个很健壮的锁机制,这其中还有很多细节不容忽视,所以下面,我们一步一步的跟着思路去思考如何使用Redis实现一个分布式的锁:加锁保证互......
  • 解决eclipse+myeclipse的Processing Dirty Regions错误
    http://www.javaeye.com/topic/192152我的Eclipse3.3.2+MyEclipse6.0.1在打开JSP文件时出现以下错误:Aninternalerroroccurredduring:"ProcessingDirtyRegions".org/eclipse/wst/sse/ui/internal/reconcile/validator/ValidationHelperAninternalerro......
  • 使用UE做动画编辑-VRAnimEditor
    这个编辑不同于blender,和UE中的动画编辑。我的动画编辑基于VR中姿态矫正,以及补帧插值方式做处理。好处: 传统的动画编辑 需要花费大量时间,比较好的动作捕捉使用起来有局限,大厂用的AI模拟生物应该没到实用阶段,而这个使用VR矫正姿态,可以缩短时间,并且实时预览,效果好(不管是编辑还......
  • Netty_Redis_Zookeeper高并发实战-读书笔记
    第1章    高并发时代的必备技能1.nettyNetty是JBOSS提供的一个Java开源框架,基于NIO的客户端/服务器编程框架,能够快速开发高并发、高可用、高可靠的网络服务器程序,也能开发高可用、高可靠的客户端程序。NIO是指:非阻塞输入输出(Non-BlockingIO)。优点:API使用简单,开发门槛......
  • WPF注入service,将service作为viewModel参数时,无法进入Model的问题。
    WPF注入service,将service作为viewModel参数时,无法进入Model的问题。一开始以为是注入失败,或者注入的service不对。经过排查,发现是viewModel中的参数service,不是当前包的service,是api通用包中的。....更改之后就可以进入Model了。......