ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
此處applicationContext會有警告出現,根據警告的英文意思翻譯成中文就是“applicationContext沒有關閉”,和Scanner,DB,IO類似,用完即關,所以我們要把applicationContext關閉。而applicationContext沒有直接提供關閉的方法,在它的子類“ConfigurableApplicationContext”中,則提供了close()方法,於是可以用((ConfigurableApplicationContext)applicationContext).close();
警告則不再出現。
當然,比較裝逼的寫法也有:applicationContext.getClass().getMethod("close").invoke(applicationContext);
或者既然都要獲取bean,要去new“ClassPathXmlApplicationContext”了,那何不把“ApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);”整句修改了,把ApplicationContext直接替換成ClassPathXmlApplicationContext,更為直接明了呢,於是可以修改成如下:
ClassPathXmlApplicationContext applicationContext = new ClassPathXmlApplicationContext(xmlPath);
applicationContext.close(); // 注:好像Spring高版本不可以如此使用
可以了解Spring的生命周期以便更清晰的了解