@Test public void testBindMapperPrivateModuleExposedInterface() { /** */ final Module privateModule = new PrivateModule() { @Override protected void configure() { final Module myBatisModule = new MyBatisModule() { @Override protected void initialize() { environmentId(ENV); install(JdbcHelper.H2_EMBEDDED); bindDataSourceProviderType(PooledDataSourceProvider.class); bindTransactionFactoryType(JdbcTransactionFactory.class); addMapperClass(DummyMapper.class); } }; install(myBatisModule); bind(DummyServiceInt.class).to(DummyService.class); expose(DummyServiceInt.class); } }; final Injector injector = Guice.createInjector( Stage.DEVELOPMENT, privateModule); injector.getInstance(DummyServiceInt.class).insertValue(1); }