Servlet环境下取得spring的ApplicationContext

 项目的应用里重写了 HttpSessionListener,在用户登录超时后需要对数据库进行操作,操作类的 service 自然从 spring 的 application context 里取比较好。
      方法:
      1. 取得 ServletContext,假设实例名为 sc
      2. 调用 Object sc.getAttribute(String) 方法
      3. 参数 String 是什么不确定的时候,考试,大就全列出:
      ServletContext sc = request.getSession().getServletContext();
      Enumeration enu = sc.getAttributeNames();
      while (enu.hasMoreElements()) {
      String name = enu.nextElement();
      Object obj = sc.getAttribute(name);
      System.out.println(name + "\t" + obj.getClass());
      }
      4. 我得到的 obj 的 class 是 name 是 “org.springframework.web.context.WebApplicationContext.ROOT”
      5. 取得 ApplicationContext,并使用:
      ServletContext sc = request.getSession().getServletContext();
      WebApplicationContext ctx = (WebApplicationContext)sc.getAttribute("org.springframework.web.context.WebApplicationContext.ROOT");
      myService = (MyService) ctx.getBean("myService");
      Get Spring ApplicationContext in servlet context.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值