Spring的IOC、DI及ApplicationContext与BeanFactory

本文介绍了Spring框架中的核心概念IOC(控制反转)与DI(依赖注入),并详细阐述了如何通过ApplicationContext和BeanFactory获取bean对象,同时对比了两者的特点及应用场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

IOC(Inverse Of Control)控制反转 : 所谓控制反转就是把创建对象(bean),和维护对象(bean)的关系的权利从程序中转移到spring的容器(applicationContext.xml),而程序本身不再维护。

DI(Dependency Injection)依赖注入: 实际上DI和IOC是同一个概念,spring设计者认为DI更准确表示spring核心技术。

 

1、从ApplicationContext中获取bean对象

ApplicationContext ac = new ClassPathXmlApplicationContext("com/hsp/ioc/beans.xml");
Student st = (Student)ac.getBean("student");

2、从BeanFactory中获取bean对象

BeanFactory factory = new XmlBeanFactory(new ClassPathResource("com/hsp/ioc/beans.xml"));
factory.getBean("student");

获取bean对象两种方式的总结:

      1.如果使用ApplicationContext,则配置的bean如果是 singlton不管你用不用,都被实例化.(好处就是可以预先加载,缺点就是耗内存);

      2.如果是 BeanFactory ,则当你获取beanfacotry时候,配置的bean不会被马上实例化,当你使用的时候,才被实例(好处节约内存,缺点就是速度);

      3.规定: 一般没有特殊要求,应当使用ApplicatioContext完成(90%)。

 

Bean的作用域:

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值