ioc容器

ioc容器

老师,这个ioc容器启动是在程序初始化时,加载到这个类的时候,对ioc容器初始化了,然后创建了xml中所有的对象吗?

ApplicationContext context =
new ClassPathXmlApplicationContext("classpath:applicationContext.xml");

ioc容器的优点除了降低对象之间的耦合度, 对内存有没有好处阿。 

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

3回答
好帮手慕阿满 2021-05-18 09:54:41

同学你好,IoC容器初始化时,是先加载xml配置文件,然后加载类,进行对象的创建。

祝学习愉快~


  • 提问者 rock221 #1

    ioc容器初始化不是要执行new classpath 那个实例化,才加载xml配置文件的吗, 那这个ioc容器初始化是在程序初始化的时候创建的吧->然后加载xml配置文件->然后加载类(是加载实体类吧)->进行对象的创建

    2021-05-18 10:05:02
  • 好帮手慕阿满 回复 提问者 rock221 #2

    同学的理解是正确的,继续加油。祝学习愉快~

    2021-05-18 11:27:32
好帮手慕阿满 2021-05-17 18:55:33

同学你好,IoC容器初始化时,创建了xml中配置的bean对象。

同学可以在bean标签设置lazy-init延迟加载,当获取对象才创建对象,避免内存浪费,如:

​ <bean id="apple" class="com.imooc.entity.Apple" lazy-init="true" ></bean>

祝学习愉快~

  • 提问者 rock221 #1
    如果不设置延迟的话,是在程序运行前加载到这个类并初始化文件创建对象的吗?
    2021-05-17 18:57:57
  • 好帮手慕阿满 回复 提问者 rock221 #2

    同学你好,是在IoC容器初始化时加载到配置文件并初始化对象。

    祝学习愉快~

    2021-05-17 19:03:48
  • 提问者 rock221 回复 好帮手慕阿满 #3

    IoC容器初始化时加载到配置文件并初始化对象:  是程序执行时的初始化程序加载了类,然后读取了xml,进行创建bean对象吧。

    2021-05-17 21:40:21
rock221 提问者 2021-05-17 17:24:37

还是说,当对ioc容器初始化的时候,只是得到了一个context对象,而通过context.getBean() 得到具体xml中某个对象的时候,执行创建然后通过反射得到ioc的实例对象?

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师