Spring IOC

Spring IOC

  • 控制反转(Inversion of Control,IOC),是Spring的核心,用来消减计算机程序耦合问题。
  • 依赖注入(Dependency Injection,DI)是IoC的另一种说法。
  • 在使用Spring框架后,对象的实例化不再由调用者来创建,而是由Spring容器来创建,Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。这样,控制权由应用代码转移到了Spring容器,控制权发生了反转,这就是Spring的控制反转。
  • 从Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者的成员变量,这相当于为调用者注入了它的依赖的实例,这就是Spring的依赖注入。
  • 综上,控制反转是一种通过描述并通过第三方去产生或获取特定对象的方式。在Spring中实现控制反转的容器是IoC,实现方法是依赖注入。

SpringIoC容器

BeanFactory和ApplicationContext


 

BeanFactory

BeanFactory由org.springframework.beans.factory.BeanFactory接口定义。常用实现类:org.springframework.beans.factory.xml.XmlBeanFactory

BeanFactory beanFact = new XmlBeanFactory(new FileSystemResource("D:\xxx\applicationContext.xml"));


 

ApplicationContext

ApplicationContext是BeanFactory的子接口,也称为应用上下文,由org.spring.framework.context.Application接口定义。且它除了包含BeanFactory的所有功能外还包含了支持国际化、资源访问、事件传播的支持。


 

通过ClassPathXmlApplicationContext创建

ApplicationContext appCon = new ClassPathXmlApplicationContext("applicationContext.xml");

通过FileSystemXmlApplicationContext创建

ApplicationContext appCon = new FileSystemXmlApplicationContext("绝对路径");

通过Web服务器实例化ApplicationContext,一般使用基于org.springframework.web.context.ContextLoaderListener的实现方式,需要在web.xml中添加:

<!--加载src目录下的applicationContext.xml文件-->
<context-param>
        <param-name>contextConfigLocation</param-name>
        <param-value>classpath:applicationContext.xml</param-value>
</context-param>
<!--指定以ContextLoaderListener的方式启动Spring容器--!>
<listener>
    <listener-class>
        org.springframework.web.context.ContextLoaderListener
    </listener-class>
</listener>

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值