日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Listener准备application作用域数据

發(fā)布時間:2025/3/17 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Listener准备application作用域数据 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
在程序中。有些數(shù)據(jù)我們希望在程序啟動的時候就準備好,而且僅僅準備一次,放在application作用域中,這時候。我們一般會用Listener來準備這些數(shù)據(jù)。

可是,用Listener準備application作用域的數(shù)據(jù)。在獲取容器的時候會有一些注意事項。

public class InitListener implements ServletContextListener {public void contextInitialized(ServletContextEvent sce) {// 獲取容器與相關的Service對象ApplicationContext ac = WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext());PrivilegeService privilegeService = (PrivilegeService) ac.getBean("privilegeServiceImpl");// 準備數(shù)據(jù):topPrivilegeListList<Privilege> topPrivilegeList = privilegeService.findTopList();sce.getServletContext().setAttribute("topPrivilegeList", topPrivilegeList);System.out.println("------------> 已準備數(shù)據(jù) <------------");// 準備數(shù)據(jù):allPrivilegeUrlsCollection<String> allPrivilegeUrls = privilegeService.getAllPrivilegeUrls();sce.getServletContext().setAttribute("allPrivilegeUrls", allPrivilegeUrls);System.out.println("------------> 已準備數(shù)據(jù)allPrivilegeUrls <------------");}public void contextDestroyed(ServletContextEvent arg0) {}
  • 該Listener配置在web.xml里,默認通過反射生成實例,來得到這個對象實例來運行??
  • ?并沒有從Spring容器里面獲取,Tomcat沒有找Spring容器,所以此處無法使用注解??
  • ? 假設使用注解,會生成兩個對象,一個Tomcat產(chǎn)生的對象,一個Spring容器注入的對象??
  • ?Tomcat會使用自己產(chǎn)生的對象,而Spring管理的對象沒人使用?

  • 總結

    以上是生活随笔為你收集整理的使用Listener准备application作用域数据的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。