当前位置: 代码迷 >> Java Web开发 >> 单例模式的问题
  详细解决方案

单例模式的问题

热度:190   发布时间:2013-01-22 14:04:30.0
单例模式的问题
请问,像下面代码在spring项目中,context变量会频繁初始化吗,applicationcontext.xml文件会频繁加载吗,因而过多占用内存吗?
private static final String xml = "applicationcontext.xml";
private static ApplicationContext context;
private static Object getBeanService(String serviceName) {
    Object bean = null;
    try {
        if (context == null) {
            context = new ClassPathXmlApplicationContext(xml);
        //context = SpringApplicationContextUtil.getApplicationContext();
        }
    bean = context.getBean(serviceName);
    } catch (Exception e) {
       e.printStackTrace();
    }
    return bean;
}
搜索更多相关主题的帖子: null  Object  private  spring  xml  

----------------解决方案--------------------------------------------------------
这个不懂、、
----------------解决方案--------------------------------------------------------
会的 会频繁初始化
private static final String xml = "applicationcontext.xml";

private static Object getBeanService(String serviceName,ApplicationContext context) {
    Object bean = null;
    try {
        if (context == null) {
            context = new ClassPathXmlApplicationContext(xml);
        //context = SpringApplicationContextUtil.getApplicationContext();
        }
    bean = context.getBean(serviceName);
    } catch (Exception e) {
       e.printStackTrace();
    }
    return bean;
}
这样就OK
内存方面的话 不用考虑 JAVA有自动回收机制 如果出现了才考虑手动清理
----------------解决方案--------------------------------------------------------
三楼好思路,
不过spring配置文件不是已经交给服务器容器处理了么?
我想知道,在实际开发中,这种方法会用到什么地方,测试?
求解 谢谢
----------------解决方案--------------------------------------------------------
谢谢大家。
回答4楼,这个方法用在工具类中,当业务层需要初始化某个bean时,会调用这个工具类。
----------------解决方案--------------------------------------------------------
回复 4楼 JeffLi
这是通过工具类来获取serviceBean
在SPRING 注入不到的情况下使用 比如 tag标签
spring 无法注入service 就通过这个来获取

----------------解决方案--------------------------------------------------------
哦 有点明白了 谢谢 五楼 六楼 解惑
----------------解决方案--------------------------------------------------------
  相关解决方案