如果spring.xml里配置了几个bean,使用context的时候,会一起初始化这个配置文件里的所有bean?

来源:3-2 Bean初始化及销毁逻辑处理

不想再做设计的阿碳

2019-03-20 14:26

老师好,如题。

写回答 关注

3回答

  • 孤僻成瘾
    2019-03-20 16:22:54
    已采纳

    容器启动的时候,会读取配置文件或者类,实例化所有非懒加载的类

  • 不想再做设计的阿碳
    2019-03-20 16:17:05

    <?xml version="1.0" encoding="UTF-8"?>

    <beans xmlns="http://www.springframework.org/schema/beans"

           xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

           xsi:schemaLocation="http://www.springframework.org/schema/beans

    http://www.springframework.org/schema/beans/spring-beans.xsd">

    <bean id="bean" class="com.example.demo.ioc.Bean"/>

    <bean id="bean2" class="com.example.demo.ioc.Bean2Factory" factory-method="getBean2"/>

    <bean id="bean3Factory" class="com.example.demo.ioc.Bean3Factory" />

    <bean id="bean3" class="com.example.demo.ioc.Bean3Factory" factory-method="getBean3" factory-bean="bean3Factory"/>

    <bean id="kobe"  class="com.example.demo.human.KobeBean" init-method="onInit" destroy-method="onDestroy"/>

    </beans>



    public class KobeTest {

        @Test

        public void test(){

            AbstractApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");

            KobeBean bean = context.getBean("kobe",KobeBean.class);

            System.out.println("bean:"+bean);

            context.close();

    //        ApplicationContext context = new AnnotationConfigApplicationContext(Config.class);

    //        Bean1 bean1 = context.getBean("bean1",Bean1.class);

    //        System.out.println("bean1:"+bean1);

        }

    }


    远远sky 回复不想再做设计...

    是单例的bean,所有单例的bean都会实例化

    2019-04-16 17:26:53

    共 2 条回复 >

  • 孤僻成瘾
    2019-03-20 15:54:28

    你是指init-method和destory-method吗?如果是全局配置的default-init-method和default-destory-method如果每个bean都有则一起初始化,没有这两个方法或者其中之一都会报错,如果在每个bean里单独配置了init-method,则会调用这个bean配置的init-method。自己理解,如有错误希望指出!

    不想再做设计...

    不是,我看我以下回复。

    2019-03-20 16:14:59

    共 1 条回复 >

Spring框架小白的蜕变

Spring Ioc和Spring Bean基础内容的讲解

35278 学习 · 117 问题

查看课程

相似问题