少年阿賓

          那些青春的歲月

            BlogJava :: 首頁 :: 聯系 :: 聚合  :: 管理
            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應用上下文環境
           private static ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
             "com/abin/lee/spring/applicationContext-queue.xml");

           /**
            * 實現ApplicationContextAware接口的回調方法,設置上下文環境
            *
            * @param applicationContext
            */
           public void setApplicationContext(ApplicationContext applicationContext) {
            SpringContextUtil.applicationContext = applicationContext;
           }

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

           /**
            * 獲取對象 這里重寫了bean方法,起主要作用
            *
            * @param name
            * @return Object 一個以所給名字注冊的bean的實例
            * @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 閱讀(2157) 評論(0)  編輯  收藏 所屬分類: spring
          主站蜘蛛池模板: 道孚县| 秭归县| 拉萨市| 佳木斯市| 都昌县| 肇州县| 永胜县| 安图县| 新建县| 河池市| 彭阳县| 方山县| 大安市| 兰溪市| 正阳县| 桓台县| 获嘉县| 河南省| 宁国市| 增城市| 乐业县| 鄱阳县| 乐安县| 乌拉特中旗| 沅陵县| 新巴尔虎左旗| 沈阳市| 策勒县| 德钦县| 双鸭山市| 东港市| 新安县| 关岭| 涟水县| 罗甸县| 出国| 建宁县| 都江堰市| 新源县| 方正县| 饶河县|