Да, вы можете, но ваш класс должен реализовать Module
.
Технически, все это Module
, поэтому Guice должен идентифицировать его как таковой. Guice рассчитывает запустить на нем configure(Binder)
.
Вот как вы это сделаете:
public class MyModule implements Module { // See? No AbstractModule
@Provides
public int someMethod() {
return someValue;
}
@Override public void configure(Binder binder) {}
}
Если вам нужен просто фиктивный класс без каких-либо требований реализации для хранения всех ваших модулей, тогда в настоящее время вам не повезло, поскольку это невозможно.
Однако, начиная с Guice 4.1, вы можете написать следующее, не прибегая к реализации configure(Binder)
, что не так уж и плохо:
public class MyModule extends AbstractModule {
@Provides
public int someMethod() {
return someValue;
}
}