我有如下所示的情况。当我在调试器中运行该类时,@Inject
永远不会访问myInjectMethod
。如果我将myInjectMethod
移动到MyService
则可行。为什么会这样?
@Singleton
@Creatable
public class MyService extends MyBaseService {
@Inject
public MyService(final IEclipseContext context) {
context.set(MyService.class.getName(), this);
}
}
abstract class MyBaseService {
@Inject
public void myInjectMethod(@Preference(nodePath = "MyPreferenceName",
value = "MyPreferenceValue") final boolean isSomething) {
// Why do I never get here when running the debugger?
System.out.println("Hello");
}
}
答案 0 :(得分:0)
尝试将抽象类移动到自己的文件并将其公开。
您使用的是哪种DI框架?它可能不支持查看超类。
答案 1 :(得分:0)
如果抽象类是包级别的话,似乎@Inject不会触发。当我将抽象类更改为public时,它开始工作。