SpringMVC 初始化網站靜態信息

在網站開發中,一些元素常常被訪問,例如 網頁頭部URL導航 的信息,以及Boot版權的信息,在各個頁面都是重複出現的數據庫

若是每次渲染View都要經過Service層訪問數據庫 比較麻煩 也沒有必要,可是經過Redis等緩存這些信息 又顯得大材小用,且後臺修改這些信息後 ,要對Redis緩存進行更新 麻煩也沒有必要緩存

因此通常這些信息都會被放在ServletContext中,便於JSP渲染時訪問app

 

@Service
public class WebConfigProp implements ApplicationContextAware,ServletContextAware {//實現ServletContextAware感知,

    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
    //這裏能夠得到Spring的上下文,經過applicationContext能夠得到Bean的實例,經過調用Service層的bean來初始化網站信息
    }

    public void setServletContext(ServletContext servletContext) {//這樣Spring在加載這個Service的時候 就會調用 setServletContext方法 
    servletContext.setAttribute("SiteName","Winters"); 
  }
}
${SiteName}

這樣在全部的JSP頁面的任意位置均可以經過 網站

${SiteName} 得到 Winters一樣的servletContext.setAttribute的第二個參數能夠設置成對象不過這個對象的類要遵照Java 的getter setter規範
相關文章
相關標籤/搜索