{{format('0')}} {{format('515')}} {{format('3225')}}

Spring IOC之属性注入 [ 资源分享 技术杂谈 ]

九叶的小窝 文章 正文

As Long As You Love Me.
分享

九叶

{{nature("2021-01-17 08:47:06")}}更新

浅谈IOC

IOC(inversion of control)是Spring的核心,贯穿始终。所谓IOC 就是有Spring来控制对象的生命周期和对象间的关系。 传统开发模式:对象之间相互依赖 IOC开发模式:IOC控制对象之间的依赖

1.下载和导入jar包

[button color="dark" icon="glyphicon glyphicon-download-alt" url="https://old.qwq.ro/usr/uploads/2021/01/3618899745.zip" type=""]相关jar包下载[/button]

2.书写配置文件

Xml文件名字与位置任意,建议放到src目录下起名为applicationContext.xml

在xml中注册bean

<bean id="product" class="ro.qwq.entity.Product"></bean>
<!-- 通过set方法赋值 -->
    <bean id="product2" class="ro.qwq.entity.Product">
        <property name="pid" value="2"></property>
        <property name="pname" value="玩具"></property>
        <property name="price" value="100"></property>
    </bean>
<!-- 通过构造赋值 -->
    <bean id="product3" class="ro.qwq.entity.Product">
        <constructor-arg index="0" value="3"></constructor-arg>
        <constructor-arg index="1" value="冰淇淋"></constructor-arg>
        <constructor-arg index="2" value="4"></constructor-arg>
    </bean>

2.测试代码

    public void test1() {
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        Product product = (Product) applicationContext.getBean("product");
        product.setPid(1);
        System.out.println(product);
    }

    @Test
    public void test2(){
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        Product product2 = (Product) applicationContext.getBean("product2");
        System.out.println(product2);
    }

    @Test
    public void test3(){
        ApplicationContext applicationContext = new ClassPathXmlApplicationContext("applicationContext.xml");
        Product product3 = (Product) applicationContext.getBean("product3");
        System.out.println(product3);
    }

IOC的好处

IOC不会对业务有很强的侵入性,是对象具有更好的可实用性,可重用性,可扩大性。 1.下降组件之间的耦合度。 2.提高产品的开发效力和质量。 3.统1标准,提高模块的复用性。 4.模块具有热插拔的特性。

IOC的总结

IOC控制反转: 创建对象实例的控制权从代码转移到IOC容器控制,实际就是xml文件控制,侧重于原理。 DI依赖注入: 说的是创建对象时,为这个对象注入属性值和其他对象实例,侧重于实现。

评论 0
0
{{userInfo.data?.nickname}}
{{userInfo.data?.email}}
TOP 2
Minecraft | [1.12.2] 核电工艺模拟器 1.2.25 —— 汉化版

{{nature('2021-12-07 15:29:00')}} {{format('2437')}}人已阅读

TOP 3
SSM搭建Spring单元测试环境

{{nature('2021-01-31 20:01:00')}} {{format('1044')}}人已阅读

TOP 4
dispatcher-servlet.xml文件配置模板

{{nature('2020-12-11 21:17:00')}} {{format('958')}}人已阅读

TOP 5
Windows平台Nacos启动报错无法创建Bean实例

{{nature('2021-04-22 15:16:00')}} {{format('938')}}人已阅读

目录

标签云

Spring 依赖注入

一言

# {{hitokoto.data.from || '来自'}} #
{{hitokoto.data.hitokoto || '内容'}}
作者:{{hitokoto.data.from_who || '作者'}}
自定义UI
配色方案

侧边栏