在Java使用Spring的时候,在定义完Spring的核心文件,用准备使用ApplicationContext applicationContext =  new ClassPathXmlApplicationContext("applicationContext.xml");来启动Spring的时候,要是不处理,在eclipse必然会出现Resource leak: 'applicationContext' is never closed的警告。虽然程序是毫无疑问地能读完,但是这个警告看着注定不爽。

如下图所示:

这是因为,这个applicationContext使用完和Scanner等流一样,用完需要关闭,正如这个警告提示的字面意思的一样。

然而,你会发现,在applicationContext中并没有包含关闭方法,如下图所示:

这是因为Spring3.x将这个方法藏在ConfigurableApplicationContext这个类里面了。

引入org.springframework.context.ConfigurableApplicationContext这个类,同时最后加一句((ConfigurableApplicationContext)applicationContext).close();这个警告则可以完美去除了,也就是上面的程序变成了:

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import org.springframework.context.ConfigurableApplicationContext;

public class Client {

public static void main(String[] args) {

ApplicationContext applicationContext = new ClassPathXmlApplicationContext(

"applicationContext.xml");

// 中间,spring要做的一系列事情……

((ConfigurableApplicationContext) applicationContext).close();

}

}

java中 never closed_【Spring】在Java使用Spring时的Resource leak: 'applicationContext' is never closed警告...相关推荐

  1. Spring 容器:三种方式解决 Resource leak: ‘applicationContext‘ is never closed 问题

    文章目录 前言 一.Spring 容器警告的产生 1.1.项目场景 二.Spring 容器未关闭后果分析 2.1.肉眼可见的警告 2.2.导致的内存泄漏 2.2.1.什么是内存泄漏? 2.2.2.如何 ...

  2. Java “Resource leak: ‘scanner‘ is never closed“警告的解决办法

    相信好多小伙伴都见到过这样的警告吧,虽然他不影响运行,但是对我这种有强迫症的人来说,看到就很不舒服,就想把他弄没.相信和我想法相同的人肯定大有人在吧!哈哈. 好了废话不多说了,下面就送上解决办法! 解 ...

  3. java中的jpa_JPA教程–在Java SE环境中设置JPA

    java中的jpa JPA代表Java Persistence API,它基本上是一个规范,描述了一种将数据持久存储到持久存储(通常是数据库)中的方法. 我们可以将其视为类似于Hibernate之类的 ...

  4. java 定义变量时 赋值与不赋值_探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值...

    探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值 当基本数据类型作为普通变量(八大基本类型: byte,char,boolean,short,int,long,fl ...

  5. java 基本类型 不赋值_探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值...

    探究Java中基本类型和部分包装类在声明变量时不赋值的情况下java给他们的默认赋值 当基本数据类型作为普通变量(八大基本类型: byte,char,boolean,short,int,long,fl ...

  6. Java 位运算理解 Java中的位移运算整理 Java右移n位 Java左移n位

    Java 位运算理解 Java中的位移运算整理 Java右移n位 Java左移n位 一.概述 1.在浏览一篇文章时,看到一个介绍 ,使用位移操作替代乘除法 ,若位移多位该怎么计算呢?  二.代码理解 ...

  7. Java中的字符集编码入门Java中的增补字符

    转载自:http://jiangzhengjun.iteye.com/blog/512083 Java中的字符集编码入门Java中的增补字符 博客分类: 字符集编码 Java Java号称对Unico ...

  8. java中避免空指针_在Java中避免空检查

    java中避免空指针 对于Java开发人员(从初级到专家)最糟糕的噩梦之一是空对象引用检查. 我很确定您已经看过几次这样的代码: public void addAddressToCustomer(Cu ...

  9. java中super用来定义父类,Java中super的几种用法及与this的区别

    综观目前的 Web 应用,多数应用都具备任务调度的功能.本文由浅入深介绍了几种任务调度的 Java 实现方法,包括 Timer,Scheduler, Quartz 以及 JCron Tab,并对其优缺 ...

最新文章

  1. 输入vue ui没反应
  2. python 效率_Python 运行效率为何低
  3. iOS imageview图片压缩变形
  4. 【前端知识学习】HTML5 学习笔记
  5. gitbook使用实录
  6. 首富带你畅谈:蓝绿部署、滚动发布、灰度发布/金丝雀发布
  7. 字母数字下划线常用正则表达式
  8. java中的terminated_解决maven build 无反应,直接terminated的问题
  9. 拉依达准则去除异常数据
  10. 字节跳动校招题目——找零问题
  11. 特征提取 - 海森矩阵(Hessian Matrix)及一个用例(图像增强)
  12. SUST OJ P5502
  13. 矢量化图形工具VTracer
  14. php上传图片并添加水印
  15. 嵌入式系统(胡威)2019年春第一次作业 参考答案
  16. 腾讯确认封杀“显IP去广告”QQ外挂
  17. 计算机二级Python基础知识点整理
  18. 海贼王游戏--EM游戏07--向伟大航路出发
  19. mpg格式linux,mpg文件扩展名,mpg文件怎么打开?
  20. 【转】【Books】史上最全的Java进阶书籍推荐

热门文章

  1. eas系统服务器地址,金蝶eas服务器地址设置
  2. 【ROS RIKIBOT 基础--使用系列 第八章节】超声波跟随、雷达跟随、手机APP建地图、视觉单线寻线
  3. FPGA基础学习 -- 内部结构之CLB
  4. spring实战学习(六)事务管理
  5. Frontiers in neuroscience: 网络游戏成瘾者额叶theta频段震荡活动的降低
  6. 函数图像变换的规律,以一元函数和二元函数为例来说明,对多元函数同样适用。
  7. ➢ 微信公众号运营教程(一)申请一个微信公众号
  8. Josn字符串处理 explode/from_json/get_json_object的使用--小记补充
  9. 如何写SCI文章-转自知乎
  10. 计算机中哪些是rom哪些是ram,电脑RAM和ROM的区别是什么?RAM和ROM有哪些作用?