spring IOC入门: IOC属性注入、自动装配

本文通过实例详细介绍了Spring框架中的IOC注入技术,包括属性set注入、构造函数注入、单例模式、自动装配等方法,并解释了依赖注入的概念及其实现方式。

IOC注入拓展

demo1——属性set注入、构造函数注入、单例模式

是配置文件applicationContext.xml的书写方式,为我们演示了两种注入方式:构造方法注入和set方法注入。bean3可以通过单例模式来创建。

输出结果:
demo2——不同类型的属性注入、构造函数注入、单例模式


如图是配置文件papplicationContext.xml的书写方式,为我们演示了不同种类属性的注入方式。

输出结果:

demo3——自动装配、abstract

如图是配置文件applicationContextOther.xml的书写方式,展示了父类子类,autowire的用法。


bean1无法直接获得,因为xml中添加了abstract=”true”属性。bean4可以通过autowire=”byName”或者autowire=”byType”种方式生成。


注意:
1.byName:bean4有属性bean3,需要xml中id为bean3的class要和bean4里面所要求的类型一致,否则抛出异常。
2.byType:bean4有属性bean3,id为bean3的,并且class为com.aowin.bean.Bean3的只能有唯一一个。否则将抛出异常。

这里的属性注入和之前的用法的区分:
之前用法:

现在用法:


之前
property 中的name,对应的是相应的类中的变量名;
property中的ref ,对应的是bean的id;
现在
bean的id 对应的是相应类中的变量名;
bean的class对应的是相应类中变量的class;

spring ioc扩展理解:


Spring最重要的核心概念是Inverseof control,中文常译为”控制反转”,更具体的一个名字是Dependency Injection ,中文常译为”依赖注入”,使用spring,你不必自己在程序代码强维护对象的依赖关系,只需在配置文件中加以设定,spring核心容器会自动根据配置将依赖注入指定的对象.

Ioc的一些表现:应用程序不应依赖于容器,而是容器服务于应用程序。

Ioc的抽象概念是:”依赖关系的转移”.
Ioc的一些表现:Ioc的一些表现:应用程序不应依赖于容器,而是容器服务于应用程序。
IoC模式基本上上一个高层的模式概念,实现IoC有两种方式:Dependecy,Injection与ServiceLocator .

Ioc的一些表现:应用程序不应依赖于容器,而是容器服务于应用程序。
IoC要求的是容器不应该或尽量不要侵入应用程序,也就是不应出现与容器相依的API,应用程序本身可以依赖于抽象接口容器,可以透过这些抽象接口将所需的资源注入到应用程序中,应用程序不向容器主动要求资源,故而不会依赖于容器的特定API,应用程序可以随时从容器系统中脱离,转移至其它的容器或框架而不用任何的修改.

应用程序不应依赖于容器,而是容器服务于应用程序。
IoCInversion of Control。控制反转,反转了什么?
反转的是建立组件之间的依赖关系的方式:组件本身不主动与其他组件建立直接的关系,依赖将在组件以外的某个地方(组件管理者或容器)建立
IoC控制反转 与 DI (Dependency Injection)依赖注入(Martin Fowler)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值