/* * Spring */ @Test public void spring() { final BeanFactory factory = new XmlBeanFactory(new ClassPathResource("spring.xml")); final SuperManager mgr = (SuperManager) factory.getBean("SuperManager"); mgr.manage1(); mgr.manage2(); }
/* * Guice */ @Test public void guice() { final Injector injector = Guice.createInjector(new GuiceBinderModule()); final SuperManager mgr = injector.getInstance(SuperManager.class); mgr.manage1(); mgr.manage2(); }
/* * PicoContainer */ @Test public void picocontainer() { final MutablePicoContainer pico = new DefaultPicoContainer(); pico.registerComponentImplementation(SuperManager.class); pico.registerComponentInstance(new OutputManager1(new OutputHelper(new SystemOutOutput()))); pico.registerComponentInstance(new OutputManager2(new OutputHelper(new LoggerOutput()))); pico.registerComponentImplementation(ComputationManager.class); pico.registerComponentImplementation(ComputationHelper.class); final SuperManager mgr = (SuperManager) pico.getComponentInstance(SuperManager.class); mgr.manage1(); mgr.manage2(); }