2014-02-10 117 views
0

我是一个新的Guice依赖注入,希望有人能解释我为什么我的代码不起作用。Google Guice。用@Provides注释注释的方法不会被调用

这里是一个扩展AbstractModule类:

public class WebCoreModule extends AbstractModule { 

    @Provides 
     public SomeFactory getSomeFactory() { 
      return new SomeFactoryImpl(); 
     } 

} 

,并在其他类我有一个私有成员

private static @Inject SomeFactory factory; 

我想调用上factory对象的方法,但它是始终为空。此外,我在getSomeFactory()方法上设置了一个断点,它永远不会被调用。

我在做什么错?

+0

过得好“其他类”的实例?大概不是通过“注射器”。 –

+0

我的'其他类'是AspectJ方面,所以它是由框架创建的。它是如何创建使用依赖注入的类的实例? –

+1

绝对如此。如果Guice框架没有创建你的类,它不知道它存在并且不能执行注入。这对所有DI框架都是一样的,除非它们运行某种类型的字节码增强。 –

回答

1

所有我需要的是在WebCoreModule的下面一行的configure()方法: