2014-12-05 5 views
0

Я новичок в Guice и хотел бы знать значение (или разница между следующее):Guice декларативный против метода синтаксиса

@SessionScoped 
public class Counter { 
int count = 0; 

ли это всем, кто имеет Counter как член будет иметь тот же Counter одиночный экземпляр?

В чем разница с этим синтаксисом? в чем смысл этой строки, если нет to()?

bind(MySingleton.class).in(Scopes.SINGLETON); 

также:

Вот код инициализации inhector:

общественного класса ClientApplication {

public static void main(String[] args) { 
     Injector injector = Guice.createInjector(new AppInjector());   

     MyApplication app = injector.getInstance(MyApplication.class); 

     app.sendMessage("Hi Pankaj", "[email protected]"); 
    } 
} 

Как инициализировать инжектор, когда у меня нет моей main способ?

например. работает Cucamber или Junit?

+1

'@ SessionScoped' не то же самое, как' Scopes.SINGLETON'. Вы имели в виду '@ Singleton'? –

+0

нет, я не понимаю, что такое '@ SessionScoped'. И '@ Singleton' совпадает с' Scopes.SINGLETON'? –

+0

'@ SessionScoped' длится всю жизнь сеанса HTTP, если вы используете сервлеты Java. Его экземпляр области соответствия - 'ServletScopes.SESSION'. '@ Singleton' - это аннотация для' Scopes.SINGLETON'. –

ответ

0

вопрос to() вопрос, эквивалент bind(MySingleton.class).to(MySingleton.class), но это делается неявно по форме.

Чтобы проверить с Guice, я лично использую

<dependency> 
     <groupId>org.grouplens.common</groupId> 
     <artifactId>common-test</artifactId> 
     <version>0.4</version> 
    </dependency> 

код выглядит следующим образом:

@RunWith(GuiceTestRunner.class) 
@TestModule(CoreModule.class) 
public class EnvironmentSetupTest extends CamelTestSupport 
+0

Существует также [Jukito] (http://jukito.arcbees.com/). –

Смежные вопросы