美文网首页
Java spring之ApplicationContext与B

Java spring之ApplicationContext与B

作者: 紫眸3C | 来源:发表于2017-08-29 16:23 被阅读0次

    BeanFactory作为SpringContainer最基本的接口,负责容器的配置,创建,管理。ApplicationContext则是BeanFactory的子接口。

    BeanFactory的基本方法

    1.beanlean containsBean(String name) 判断SpringContainer是否包含id为name的bean;

            ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");
    
            if (ctx.containsBean("person")){
                Person a = (Person) ctx.getBean("person",Person.class);
            }
    

    2.Object getBean(String name) 返回id为name,类型为Object的bean实例;

    Object a =  ctx.getBean("person");
    

    bean实例的返回类型为object所以如果要指定bean为其他类型需要进行强转
    3.Class getType(String name) 返回id 为name的bean的类型

    Class<Person> personClass = ctx.getType("person");
    

    ApplicationContext扩展功能

    预初始化所有的singleton bean

    当ApplicationContext初始化完成之后容器中的所有的singleton bean都会根据设置的构造方式初始化完成并根据property设置setter方法,
    只有prototype bean不会被初始化。
    有关singleton bean与prototype bean的介绍详见Java Spring之Singleton bean与Prototype bean

    • 国际化支持
    • 资源访问
    • 事件机制
    • 同时加载多个配置文件
    • 以声明的方式启动并创建Spring容器

    ApplicationContext相对BeanFactory来说前者继承了后者的全部功能并扩展了许多新的功能,但是前者由于在初始化后会预初始化所有的singleton bean系统前期消耗较大,后期性能会明显提升。所以一般来说我们都会选择ApplicationContext作为Spring容器

    相关文章

      网友评论

          本文标题:Java spring之ApplicationContext与B

          本文链接:https://www.haomeiwen.com/subject/awcodxtx.html