ApplicationContext ctx = new ClassPathXmlApplicationContext("bean_test.xml");
ConfigurableApplicationContext x = (ConfigurableApplicationContext)ctx;
ConfigurableBeanFactory factory = (ConfigurableBeanFactory)x.getBeanFactory();
DefaultListableBeanFactory df = (DefaultListableBeanFactory)x.getBeanFactory();
System.out.println(ctx.getBean("PGMExistEntityValidater"));
df.registerBeanDefinition("PGMExistEntityValidater", BeanDefinitionBuilder.rootBeanDefinition(FuckTestAll.class)
.getBeanDefinition());
factory.registerSingleton("PGMExistEntityValidater", new FuckTestAll());
System.out.println(ctx.getBean("PGMExistEntityValidater")); 

解决方案 »

  1.   

    就是把配置在spring中的bean搞到代码里了
      

  2.   

    各种工厂代理bean 读取配置文件
      

  3.   

    ConfigurableApplicationContext x = (ConfigurableApplicationContext)ctx;(作用)
    ConfigurableBeanFactory factory = (ConfigurableBeanFactory)x.getBeanFactory();(作用)
    DefaultListableBeanFactory df = (DefaultListableBeanFactory)x.getBeanFactory();(作用)
    df.registerBeanDefinition("PGMExistEntityValidater", BeanDefinitionBuilder.rootBeanDefinition(FuckTestAll.class).getBeanDefinition());
    (FuckTestAll.class参数的含义)
    factory.registerSingleton("PGMExistEntityValidater", new FuckTestAll());(作用)
      

  4.   

    这是动态的把某个bean类加载到spring的ApplicationContext的上下文中吗???
      

  5.   

    读取spring上下文······可以获得bean
      

  6.   

    初始化单元测试中的一个ben的配置文件