单例模式的问题
请问,像下面代码在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 就通过这个来获取
----------------解决方案--------------------------------------------------------
哦 有点明白了 谢谢 五楼 六楼 解惑
----------------解决方案--------------------------------------------------------