我正在从事spring框架和微服务架构。我有一个像MainClass.java
的类,因为我正在使用LibraryClass.java
注入@AutoWired
。 LibraryClass.java
内有data-lib.jar
类
import org.springframework.beans.factory.annotation.Autowired;
import com.data.LibraryClass;
public class MainClass {
@Autowired
LibraryClass libraryClass;
String value = libraryClass.getData();
}
内部data-lib.jar
依赖罐LibraryClass.java
文件看起来像这样,我正在使用Google guice DI OtherLibraryClass.java
注入@Inject
。 OtherLibraryClass.java
内也有data-lib.jar
类
package com.data;
import com.google.inject.Inject;
public class LibraryClass {
@Inject
OtherLibraryClass otherLibraryClass;
public String getData() {
return otherLibraryClass.getValue(); // throwing null pointer exception
}
}
从getData()
调用MainClass.java
方法时,它引发了空指针异常。看起来OtherLibraryClass.java
实例不是Guice自动创建的。如果它是Guice创建的,则自动注入所有依赖项。
我不想更改data-lib.jar
内部的任何内容。我可以更改MainClass.java
,以便解决该问题。有什么办法可以正常工作,没有任何例外。
注意::data-lib.jar
是在Play框架中构建的。这就是为什么我不想在依赖项jar中进行更改。如果我们从其他播放框架serv调用getData()
方法,则它工作正常。只有从spring框架serv调用时,我才面临这个问题
预先感谢