Spring提供了两种容器类型:BeanFactory和ApplicationContext。

  1. BeanFactory:基础类型的IoC容器,提供完整的IoC服务支持。如果没有特殊指定,默认采用延迟初始化策略。只有当客户端对象需要访问容器中的某个受管对象的时候,才对该受管对象进行初始化以及依赖注入操作。所以,相对来说,容器启动初期速度较快,所需要的资源有限。
  2. ApplicationContext:在BeanFacotry的基础上构建,是相对比较高级的容器实现,除了拥有BeanFacotry的所有支持,ApplicationContext还提供了其他高级特性,如事件发布/国际化信息支持等。ApplicationContext所管理的对象,在该类型容器启动之后,默认全部初始化并绑定完成。所以,相对于BeanFactory来说,ApplicationContext要求更多的系统资源,同时,因为在启动时就完成所有的初始化,容器启动时间会较长。

 

  • 拥有BeanFactory之后

  通常情况下,BeanFacotry会通过常用的XML文件来注册并管理各个业务对象之间的依赖关系。

BeanFactory container = new XmlBeanFactory(new ClassPathResource("配置文件路径"));
B b = (B)container.getBean("b");
b.method();

 

posted on 2017-02-28 10:11  coder为  阅读(265)  评论(0编辑  收藏  举报