Я работаю в каркасе пружины и в микросервисной арке. У меня есть один класс, такой как 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
jar зависимостей LibraryClass.java
файл выглядит следующим образом, и я вводю OtherLibraryClass.java
с помощью Google Guice DI @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
был встроен в игровую среду. вот почему я не хочу меняться в банке зависимостей. Если мы вызываем getData()
метод из другого сервера фреймворка play, он работает нормально Только при звонке с пружинных рамок серв я сталкиваюсь с этой проблемой
Заранее спасибо