Spring加载有两种方式,一是在web.xml中配置listener,一是在struts-config.xml中配置<plug-in>,提问如下:1.应用中ApplicationContext是否是单例的?若是单例的,怎么配置让它变成非单例的呢?2.在Web应用中同时配置了这两种加载方式,系统并没有报错,那么应用中到底是使用了哪一个呢?
  
3.使用listener进行配置可以通过request.getSession.getSeveletContext()得到上下文,并可以轻松获得 applicationContext.xml中配置的bean,而通过<plug-in>并不能获得上下文。那么,在实际的应用中大家是否都是使用
<listener>进行加载呢?4.有不有什么方法可以查看一个实例创建的时间?System.out.println(object);只能看到毫秒级,有不有能看到纳秒级的?================
每题15分,欢迎抢答^_^

解决方案 »

  1.   

    1:ApplicationContext肯定是单例,至于怎么配置让它变成非单例,这就不清楚了。想反问lz一下为什么要配置成非单例呢,意义何在?
    2:个人觉得应该是使用web.xml中的配置吧,因为web服务器是先与struts-config.xml加载web.xml的。
    3:很少有人用plugin配置吧。不过我现在用struts2,没有plugin配置。
    4:lz有方法了,贴出来,学习一下。
    个人愚见 还望指教
      

  2.   

    2.在Web应用中同时配置了这两种加载方式,系统并没有报错,那么应用中到底是使用了哪一个呢? 这个我认为是 使用 struts-config.xml 中配置的,web服务器先加载 web.xml中的,而这些配置是放在 map中的,所以后一个加载的有效。
      

  3.   

    回答你第一个问题,其它有个答了,可以设备BEAN的scope属性。
      

  4.   

    习惯,推荐在web.xml中配置Spring的环境
    两种配置方式,无非就是服务器加载顺序不一样