Java spring之ApplicationContext与B

2017-08-29  本文已影响0人  紫眸3C

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

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

上一篇 下一篇

猜你喜欢

热点阅读