论坛首页 Java企业应用论坛

beanFactory和applicationContext创建javaBean的区别

浏览 2336 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (6) :: 隐藏帖 (0)
作者 正文
   发表时间:2011-04-02   最后修改:2011-04-02
    BeanFactory提供管理和创建javaBean的基本功能,applicationContext是BeanFactory下的一个子接口,用于加强BeanFactory的及其实现提供的功能。我们不需要显示的用代码创建applicationContext实例,只需要在web容器中设置一个监听器:
  
   <listener>
<listener class>
   org.springframework.web.context.ContextLoaderListener<
/listener-class>
  </listener>

    或者用个servlet,当然手工创建也是可以的。
    这样的话,当web应用启动的时候自动实例化applicationContext,并且所有的javaBean都会被创建,除非我们显示的设置了延迟加载机制。当然我们也要注意,如果javaBean非常多的时候,由于解析以及创建会花费很多时间,服务器启动将会变得缓慢,若设为延迟加载,则又会带来的问题是客户端需要某个javaBean的时候又得等待其被初始化和创建,不能立即注入使用。
     如果用BeanFactory创建Bean的话,默认的是延迟装载,只有当调用getBean()方法的时候,Bean实例才会被创建。
   发表时间:2011-04-03  
基本就是这样吧,不过applicationcontext还是可以显示创建的
0 请登录后投票
   发表时间:2011-04-03  
当web应用启动的时候自动实例化applicationContext的真正原因是因为ContextLoaderListener实现了ServletContextListener。
并且applicationContext还可以手动创建,只是应用在想servlet,ejb容器中的时候,配置一个监听就可以了!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics