我們生活在一個美好的時代,在這個時代你可以使用基于java的配置來開發一個spring應用程式. 再也沒有多餘的xml代碼了,隻有純正的java代碼. 本文中我想要讨論一下關于spring應用程式中的session管理這裡流行主題. 更确切的目的是我将會說說java配置風格會話逾時配置.
而在我之前的一篇 博文 中, 我已經談到了如何去管理一個會話的生命周期. 但是那一種方案需要使用web.xml檔案,而在基于java的配置中是不需要的. 因為其作用是操作一個擴充了 abstractannotationconfigdispatcherservletinitializer 的類. 它經常看起來像下面這樣:
我已經寫過很多有關使用 這種配置 的東西, 而這裡我們應該給那些 abstractannotationconfigdispatcherservletinitializer 擴充的類以更多的關注. 我講的是 abstractdispatcherservletinitializer 類. 在它那裡它擁有 onstartup(servletcontext servletcontext) 方法. 其目的是配置一個帶有任何用于初始化一個web應用程式的servlet、filter、listener、context-param以及attribute這些東西的servletcontext.
直接在這裡回想起httpsessionlistener接口是一個很好的時機. 由于你已經猜到了這個接口的一個實作,隻要在一個應用程式中建立一個listener,就能管理每一個會話了. 例如,我們可以将最大的非活動時間設定為5分鐘:
為了将這一會話管理上的變化應用于我們基于java的配置中,我們要将下面的代碼片段加入initializer類中:
就是這些了,所有的java極客們,祝你們編碼愉快.