刚开始学  看一些例子 老是在写 ApplicationContext ctx = new ClassPathXmlApplicationContext(
"applicationContext.xml");
UserBean bean = (UserBean) ctx.getBean("userBean");那么是不是我用到 userBean 这类配置的bean的时候,我每次都要在类里写上这两句话呀!

解决方案 »

  1.   

    做个静态类获得ApplicationContext 。
      

  2.   

    是的,如果你想享受SRPING所带来的特性,就必须用这种方法
      

  3.   

    package com.manpower.locator;import org.springframework.context.support.ClassPathXmlApplicationContext;/**
     * @author Kevin Jin
     *
     */
    public class Locator {
        
        private final static ClassPathXmlApplicationContext ctx;
        private final static ClassPathXmlApplicationContext ctx_tw;
        static {
            ctx = new ClassPathXmlApplicationContext(new String[]{"applicationContext_hibernate.xml"});
            ctx_tw = new ClassPathXmlApplicationContext(new String[]{"applicationContext_hibernate_tw.xml"});
        }
        
       public static Object getObject(String name) {
            return ctx.getBean(name);
        }
        @SuppressWarnings("unchecked")
        public static <T> T lookupService(Class<T> clz) {
    return (T) ctx.getBean(clz.getSimpleName());
    }    public static Object getObject_tw(String name) {
            return ctx.getBean(name);
        }
        @SuppressWarnings("unchecked")
        public static <T> T lookupService_tw(Class<T> clz) {
    return (T) ctx.getBean(clz.getSimpleName());
    }
        private Locator() {}}