Spring IOC中DI的几种方式-XML篇

<?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="student" class="com.duanhw.pojo.Student"></bean>

    <!--通过set方法注入对象,并设置属性值-->
    <bean id="user" class="com.duanhw.pojo.User">
        <property name="name" value="duanhw"></property>
        <property name="gender" value="男"></property>
    </bean>

    <!--通过带参构造方法来注入,并设置属性值-->
    <bean id="order" class="com.duanhw.pojo.Order">
        <constructor-arg index="0" value="足球"/>
        <constructor-arg index="1" value="100"/>
    </bean>

    <!--注入其他类型属性-->
    <!--1. 注入null值-->
    <bean id="student2" class="com.duanhw.pojo.Student2">
        <property name="stuNo">
            <null></null>
        </property>
        <property name="stuName" value="DDD"></property>
    </bean>

    <!--2. 注入特殊字符    -->
    <bean id="stu3" class="com.duanhw.pojo.Student3">
        <property name="stuName" value="DDD"></property>
        <property name="address">
            <value><![CDATA[^&%&<><甘肃兰州><^%*$]]]></value>
        </property>
    </bean>

    <!--  注入属性-外部bean  -->
    <bean id="userService" class="com.duanhw.service.UserService">
        <property name="userimp" ref="userimpl"></property>
    </bean>
    <bean id="userimpl" class="com.duanhw.impl.UserDaoImpl"></bean>

    <!--  注入属性-内部bean  -->
    <bean id="emp" class="com.duanhw.pojo.Employee">
        <property name="name" value="DDD"></property>
        <property name="gender" value="男"></property>

        <!--内部bean -->
        <property name="dep" >
            <bean id="dept" class="com.duanhw.pojo.Department">
                <property name="dname" value="财务部"></property>
            </bean>
        </property>
        <!-- 1. 级联赋值   -->
        <property name="role" ref="role"></property>
        <!-- 2. 级联赋值   -->
        <property name="addr" ref="addr"></property>
        <property name="addr.addrs" value="甘肃省"></property>
    </bean>

    <bean id="role" class="com.duanhw.pojo.Role">
        <property name="rname" value="会计"></property>
    </bean>

    <bean id="addr" class="com.duanhw.pojo.Address">
    </bean>
</beans>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring框架IOC(Inversion of Control,控制反转)和DI(Dependency Injection,依赖注入)是两个重要的概念。 IOC是一种设计原则,它反转了传统的程序设计对象的创建和依赖关系的管理方式。传统方式,对象的创建和依赖关系是由程序代码直接控制的,而在IOC,对象的创建和依赖关系的管理交给了容器来完成。应用程序通过描述对象之间的依赖关系,由容器负责创建对象、维护对象的生命周期,并将所需的对象注入到需要它们的地方。 DIIOC的一种具体实现方式。它通过将对象之间的依赖关系定义在配置文件或通过注解来描述,容器会根据这些配置信息自动创建对象,并将依赖关系注入到对象。通过DI,我们可以将对象之间的耦合度降低,提高代码的可测试性、可维护性和可扩展性。 在Spring框架,我们可以使用XML配置文件、Java配置类或注解来描述对象之间的依赖关系。Spring容器会根据这些配置信息实例化对象,并将依赖关系自动注入到对象。这样,我们就可以通过IOC容器来管理对象的创建和依赖关系,而不需要在代码直接进行对象的创建和依赖关系的维护。 总结来说,IOCDISpring框架的核心概念,通过将对象的创建和依赖关系的管理交给容器来完成,可以降低代码的耦合度,提高代码的可测试性和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值