Spring MVC框架怎么在应用启动时就初始化一个全局对象?
1、启动容器(tomcat)对于web.xml的加载过程是context-param >> listener >> fileter >> servlet
2、你写一个listener然后初始化你想要的参数
3、服务器启动时,ServletContextListener 的 contextInitialized()方法被调用,所以在里面创建好缓存。
4、可以从文件中或者从数据库中读取取缓存内容生成类,用 ervletContext.setAttribute()方法将缓存类保存在 ServletContext 的实例中。
5、程序使用 ServletContext.getAttribute()读取缓存。
6、如果是 JSP,使用a pplication.getAttribute()。
7、如果是 Servlet,使用 getServletContext().getAttribute()。如果缓存发生变化(如访问计数),你可以同时更改缓存和文件/数据库。
8、或者你等 变化积累到一定程序再保存,也可以在下一步保存。
9、服务器将要关闭时,ServletContextListener 的 contextDestroyed()方法被调用,所以在里面保存缓存的更改。
10、将更改后的缓存保存回文件或者数据库,更新原来的内容。