少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
            500 Posts :: 0 Stories :: 135 Comments :: 0 Trackbacks

          方法一:
          package com.abin.lee.queue;

          import org.springframework.beans.BeansException;
          import org.springframework.context.ApplicationContext;
          import org.springframework.context.ApplicationContextAware;
          import org.springframework.context.support.ClassPathXmlApplicationContext;

          /**
           *
           * 獲取spring容器,以訪問容器中定義的其他bean
           *
           * @author lyltiger
           * @since MOSTsView 3.0 2009-11-16
           */
          public class SpringContextUtil implements ApplicationContextAware {

           // Spring應(yīng)用上下文環(huán)境
           private static ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
             "com/abin/lee/spring/applicationContext-queue.xml");

           /**
            * 實(shí)現(xiàn)ApplicationContextAware接口的回調(diào)方法,設(shè)置上下文環(huán)境
            *
            * @param applicationContext
            */
           public void setApplicationContext(ApplicationContext applicationContext) {
            SpringContextUtil.applicationContext = applicationContext;
           }

           /**
            * @return ApplicationContext
            */
           public static ApplicationContext getApplicationContext() {
            return applicationContext;
           }

           /**
            * 獲取對象 這里重寫了bean方法,起主要作用
            *
            * @param name
            * @return Object 一個(gè)以所給名字注冊的bean的實(shí)例
            * @throws BeansException
            */
           public static Object getBean(String name) throws BeansException {
            return applicationContext.getBean(name);
           }

          }





          方法二:

          package com.abin.lee.queue;

          import org.springframework.beans.factory.BeanFactory;
          import org.springframework.beans.factory.xml.XmlBeanFactory;
          import org.springframework.core.io.ClassPathResource;

          public class BeanFactoryUtil {
           private static BeanFactory factory = new XmlBeanFactory(
             new ClassPathResource(
               "com/abin/lee/spring/applicationContext-queue.xml"));

           public static BeanFactory getFactory() {
            return factory;
           }

           public static void setFactory(BeanFactory factory) {
            BeanFactoryUtil.factory = factory;
           }
           
           public static Object getBean(String name){
            return factory.getBean(name);
           }
          }







          具體用法:

          package com.abin.lee.queue;

          import java.io.BufferedWriter;
          import java.io.IOException;
          import java.io.OutputStreamWriter;
          import java.util.Map;

          import javax.servlet.ServletException;
          import javax.servlet.ServletOutputStream;
          import javax.servlet.http.HttpServlet;
          import javax.servlet.http.HttpServletRequest;
          import javax.servlet.http.HttpServletResponse;

          public class QueueServlet extends HttpServlet{
           
           protected void doPost(HttpServletRequest request, HttpServletResponse response)
             throws ServletException, IOException {
            Map map=request.getParameterMap();
            String name1=(String)((Object[])map.get("name1"))[0];
            String name2=(String)((Object[])map.get("name2"))[0];
            MakeQueue makeQueue = (MakeQueue)BeanFactoryUtil.getBean("makeQueue");//bean的名稱
            System.out.println(makeQueue.queueSize());
            makeQueue.addQueue(name1);
            makeQueue.addQueue(name2);
            System.out.println(makeQueue.queueSize());
            
            ServletOutputStream out=response.getOutputStream();
            BufferedWriter writer=new BufferedWriter(new OutputStreamWriter(out));
            writer.write("success");
            writer.flush();
            writer.close();
           }
          }



          posted on 2012-08-20 11:34 abin 閱讀(2167) 評論(0)  編輯  收藏 所屬分類: spring
          主站蜘蛛池模板: 花莲市| 屏东市| 紫阳县| 辽宁省| 高邑县| 保定市| 建宁县| 盈江县| 庆安县| 双峰县| 黑山县| 唐河县| 博罗县| 赤水市| 施秉县| 台中市| 汤原县| 涡阳县| 萍乡市| 石家庄市| 进贤县| 珲春市| 谷城县| 榆树市| 昌江| 昌都县| 武宁县| 方正县| 博湖县| 兰州市| 砀山县| 焉耆| 遵义市| 桂平市| 铁岭县| 阳信县| 高台县| 大丰市| 西畴县| 北川| 深泽县|