Package com.google.inject

Examples of com.google.inject.Injector


        }
    }
   
    @Test
    public void testMultibindings() {
        Injector injector = Guice.createInjector(new ServiceLoaderModule() {
            @Override
            protected void configureServices() {
                bind(Boolean.class).toInstance(true);
                Multibinder
                    .newSetBinder(binder(), TestService.class)
                    .addBinding()
                    .to(BoundServiceImpl.class);
                bindServices(TestService.class)
                    .usingMultibinding(true);
            }
        });
       
        Set<TestService> services = (Set<TestService>) injector.getInstance(Key.get(Types.setOf(TestService.class)));
        Assert.assertEquals(2, services.size());
        for (TestService service : services) {
            Assert.assertTrue(service.isInjected());
            System.out.println("   " + service.getClass().getName());
        }
View Full Code Here


        }
    }
   
    @Test
    public void testNoMultibindings() {
        Injector injector = Guice.createInjector(new ServiceLoaderModule() {
            @Override
            protected void configureServices() {
                bind(Boolean.class).toInstance(true);
                bindServices(TestService.class);
            }
        });
       
        Set<TestService> services = (Set<TestService>) injector.getInstance(Key.get(Types.setOf(TestService.class)));
        Assert.assertEquals(1, services.size());
        for (TestService service : services) {
            Assert.assertTrue(service.isInjected());
            System.out.println("   " + service.getClass().getName());
        }
View Full Code Here

    @Test
    public void testServiceLoadedModules() {
        LifecycleInjectorBuilder builder = LifecycleInjector.builder();
        builder.withAdditionalBootstrapModules(new ServiceLoaderBootstrapModule());
       
        Injector injector = builder.build().createInjector();
        Assert.assertEquals("loaded",  injector.getInstance(Key.get(String.class, Names.named(MyServiceLoadedModule.class.getSimpleName()))));
    }
View Full Code Here

        }
    }
   
    @Test
    public void testAnnotationWiringAndInjection() {
        Injector injector = LifecycleInjector.bootstrap(MyApplication.class);
        Assert.assertEquals("foo", injector.getInstance(Key.get(String.class, Names.named("application"))));
        Assert.assertEquals("module1", injector.getInstance(Key.get(String.class, Names.named("module1"))));
        Assert.assertEquals("suite1", injector.getInstance(Key.get(String.class, Names.named("suite1"))));
        Assert.assertEquals("test", injector.getInstance(Key.get(String.class, Names.named("bar"))));
    }
View Full Code Here

    public static void main(String[] args) throws Exception
    {
        System.setProperty("prop-a", "ExampleObjectA should see this");

        // Always get the Guice injector from Governator
        Injector injector = LifecycleInjector
            .builder()
            .usingBasePackages("custom_autobind")
            .withBootstrapModule
                (
                    new BootstrapModule()
                    {
                        @Override
                        public void configure(BootstrapBinder binder)
                        {
                            // bind an AutoBindProvider for @ExampleAutoBind annotated fields/arguments
                            TypeLiteral<AutoBindProvider<ExampleAutoBind>> typeLiteral = new TypeLiteral<AutoBindProvider<ExampleAutoBind>>(){};
                            binder.bind(typeLiteral).to(ExampleAutoBindProvider.class).asEagerSingleton();
                        }
                    }
                )
            .createInjector();

        LifecycleManager manager = injector.getInstance(LifecycleManager.class);

        // Always start the Lifecycle Manager
        manager.start();

        System.out.println(injector.getInstance(ExampleObjectA.class).getValue());
        System.out.println(injector.getInstance(ExampleObjectB.class).getValue());
        System.out.println(injector.getInstance(ExampleObjectC.class).getValue());

        /*
            Console will output:
                ExampleObjectA should see this
                b
View Full Code Here

public class WarmUpExample
{
    public static void main(String[] args) throws Exception
    {
        // Always get the Guice injector from Governator
        Injector injector = LifecycleInjector.builder().createInjector();
        injector.getInstance(ExampleObjectA.class);

        LifecycleManager manager = injector.getInstance(LifecycleManager.class);

        // Always start the Lifecycle Manager
        manager.start();

        // by calling start() warm up begins. The console will show
View Full Code Here

public class LifecycleExample
{
    public static void main(String[] args) throws Exception
    {
        // Always get the Guice injector from Governator
        Injector injector = LifecycleInjector.builder().createInjector();

        // This causes ExampleService and its dependency, ExampleResource, to get instantiated
        injector.getInstance(ExampleService.class);

        LifecycleManager manager = injector.getInstance(LifecycleManager.class);

        // Always start the Lifecycle Manager
        manager.start();

        // your app would execute here
View Full Code Here

    }

    private static void        doWork() throws Exception
    {
        // Always get the Guice injector from Governator
        Injector    injector = LifecycleInjector
            .builder()
            .usingBasePackages("validation")
            .withBootstrapModule
                (
                    new BootstrapModule()
                    {
                        @Override
                        public void configure(BootstrapBinder binder)
                        {
                            binder.bindConfigurationProvider().to(SystemConfigurationProvider.class);
                        }
                    }
                )
            .createInjector();

        LifecycleManager    manager = injector.getInstance(LifecycleManager.class);

        // Always start the Lifecycle Manager
        manager.start();

        // your app would execute here
View Full Code Here

    }

    private static void doWork(final SystemConfigurationProvider provider) throws Exception
    {
        // Always get the Guice injector from Governator
        Injector    injector = LifecycleInjector
            .builder()
            .withBootstrapModule
            (
                new BootstrapModule()
                {
                    @Override
                    public void configure(BootstrapBinder binder)
                    {
                        // bind the configuration provider
                        binder.bindConfigurationProvider().toInstance(provider);
                    }
                }
            )
            .createInjector();

        ExampleObject       obj = injector.getInstance(ExampleObject.class);

        LifecycleManager    manager = injector.getInstance(LifecycleManager.class);

        // Always start the Lifecycle Manager
        manager.start();

        System.out.println(obj.getAString());
View Full Code Here

        // get created in this example
        List<Class<?>> ignore = Lists.newArrayList();
        ignore.add(ExampleService.class);

        // Always get the Guice injector from Governator
        Injector        injector = LifecycleInjector
            .builder()
            .usingBasePackages("autobind")
            .ignoringAutoBindClasses(ignore)    // tell Governator's CLASSPATH scanner to ignore listed classes
            .withBootstrapModule
            (
                new BootstrapModule()
                {
                    @Override
                    public void configure(BootstrapBinder binder)
                    {
                        // bind an AutoBindProvider for @AutoBind annotated fields/arguments
                        TypeLiteral<AutoBindProvider<AutoBind>>     typeLiteral = new TypeLiteral<AutoBindProvider<AutoBind>>(){};
                        binder.bind(typeLiteral).to(ExampleAutoBindProvider.class).asEagerSingleton();
                    }
                }
            )
            .createInjector();

        LifecycleManager manager = injector.getInstance(LifecycleManager.class);

        // Always start the Lifecycle Manager
        manager.start();

        System.out.println(injector.getInstance(ExampleObjectA.class).getValue());
        System.out.println(injector.getInstance(ExampleObjectB.class).getValue());
        System.out.println(injector.getInstance(ExampleObjectC.class).getValue());

        /*
            Console will output:
                letter A - 1
                letter B - 2
View Full Code Here

TOP

Related Classes of com.google.inject.Injector

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.