application共享变量

原创 2016年05月30日 21:52:08

        在程序中有时候需要将一些数据提前加载,比方说一些访问量多的数据,可以将其加载到公共的地方application中,以方便访问,也可以减少和数据库交互的次数,增加效率。为此我们可以将其放到listener中,只需要加载一次就好,如下:

1、类

public class InitListener implements ServletContextListener {
    @Override
    public void contextInitialized(ServletContextEvent sce) {
        ApplicationContext ac=WebApplicationContextUtils.getWebApplicationContext(sce.getServletContext());
        PrivilegeService privilegeService =(PrivilegeService)ac.getBean("privilegeServiceImpl");
        //准备数据:topPrivilegeList
        List<Privilege> topPrivilegeList=privilegeService.findTopList();
        sce.getServletContext().setAttribute("topPrivilegeList",topPrivilegeList);
        
        Collection<String> allPrivilegeUrls=privilegeService.getAllPrivilegeUrls();
        sce.getServletContext().setAttribute("allPrivilegeUrls", allPrivilegeUrls);
    }
    
    @Override
    public void contextDestroyed(ServletContextEvent arg0) {
        
    }
    
}
2、web.xml配置此Listener
        <!-- 用于做初始化工作的监听器,一定要配置到spring的ContextLoaderListener后面,因为要用到spring的容器对象 -->
   <listener> 
       <listener-class>cn.itcast.oa.util.InitListener</listener-class> 
   </listener>

application类的实现以及如何使用application类实现全局变量传值

Application类 Application和Activity,Service一样是Android框架的一个系统组件,当Android程序启动时系统会创建一个Application对象,用来存储系...
  • u012141522
  • u012141522
  • 2016年02月17日 12:20
  • 1361

不要通过Application Object或者其他全局静态变量来存放数据

不用通过Application Object或者其他全局静态变量来存放数据   翻译自:http://www.developerphil.com/dont-store-data-in-the-ap...
  • liaoqianchuan00
  • liaoqianchuan00
  • 2014年04月24日 10:57
  • 4616

Application设置全局变量以及传值

文章来源:http://www.eoeandroid.com/thread-47981-1-1.html /** * 重写Application,主要重写里面的onCrea...
  • libaineu2004
  • libaineu2004
  • 2015年01月06日 22:15
  • 1425

JAVA 并发编程-线程范围内共享变量(五)

线程范围内共享变量要实现的效果为: 多个对象间共享同一线程内的变量未实现线程共享变量的demo:package cn.itcast.heima2; import java.util.HashMap;...
  • hejingyuan6
  • hejingyuan6
  • 2015年07月23日 15:43
  • 5177

多线程共享变量方式

多线程间共享变量的三种方式
  • u013769320
  • u013769320
  • 2015年08月25日 17:15
  • 1062

TensorFlow 变量共享

变量共享主要涉及到两个函数: tf.get_variable(, , ) 和 tf.variable_scope()。 为什么要共享变量? 例如如下代码: def my_image_filte...
  • yuehanliushuang
  • yuehanliushuang
  • 2017年03月18日 13:37
  • 2062

继承Application实现Android数据共享

在平时的开发过程中,有时候可能会需要一些全局数据,来让应用中的所有Activity和View都能访问到,大家在遇到这种情况时,可能首先会想到自己定义一个类,然后创建很多静态成员,android已经为我...
  • Caesardadi
  • Caesardadi
  • 2013年01月21日 09:42
  • 7474

进程间共享变量

在php中可以实现在进程间共享信息的途径,并保证能快速地访问这些共享数据。有两种方式:shmop 和 System V这两种共享内存扩展方式。   shmop使用的例子: // create k...
  • u010437896
  • u010437896
  • 2013年05月02日 17:38
  • 1345

C++共享变量机制

在程序设计中如何实现不同的函数模块之间的数据共享,是程序设计中的关键技术问题。          本文以C++为例,详细阐述了面向对象程序设计中各种方式数据共享的实现机制。          ...
  • wangran51
  • wangran51
  • 2013年03月27日 22:23
  • 3743

python多线程共享变量的使用和效率

python多线程可以使任务得到并发执行,但是有时候在执行多次任务的时候,变量出现“意外”。 import threading,time n=0 start=time.time() def b1(n...
  • getcomputerstyle
  • getcomputerstyle
  • 2017年05月07日 21:21
  • 1627
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:application共享变量
举报原因:
原因补充:

(最多只允许输入30个字)