美文网首页
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