No Special structure or dependency is required to integrate the guice component into spring-boot.
standard boot application
@SpringBootApplication public class App { SpringApplication.run(App.class, appArgs); }
Guice Module Configuration
@Configuration public class GuiceBeanConfig { private final Injector injector;
Automatically connect your service component as a regular spring component.
Option 1: Guice automatic injector and access to any bean from it
@Service public class MySpringService { private final Injector injector; MySpringService (Injector i){ injector = i; } public void callServiceA() { injector.getInstance(ServiceA.class).doSomething(); } }
Option 2: special bin with auto
@Service public class MySpringService { private final ServiceA serviceA; MySpringService (ServiceA s){ serviceA = s; } public void callServiceA() { serviceA.doSomething(); } }
NOTE: Spring-boot does not require the use of @Autowire annotation in case you make a constructor injector.
source share