Поле @Autowired возвращает NullPointerException (с использованием Neo4J)JAVA

Программисты JAVA общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Поле @Autowired возвращает NullPointerException (с использованием Neo4J)

Сообщение Anonymous »

Я создаю небольшой API, используя Spring Boot и Neo4J, но по какой-то причине атрибуты @Autowired для доменов имеют значение null в одном из моих классов @Service. p>
Автоматически сгенерированный маршрут правильно возвращает узлы из базы данных Neo4J, поэтому я предполагаю, что в соединении bean-компонентов должна быть какая-то ошибка.
Контроллер:

Код: Выделить всё

@RestController
public class NodeController {
@PostMapping("/metrics")
public MetricJSON computeMetrics(
@Valid @RequestBody MetricsPayload payload,
@Autowired SocialNetwork socialNetwork
) throws InvocationTargetException, NoSuchMethodException, InstantiationException, IllegalAccessException {
return new MetricJSON(socialNetwork.fromRequest(payload));
}
Класс @Service:

Код: Выделить всё

@Service
public class SocialNetwork  {
@Autowired
public NetworkRepository networkRepository;

@Autowired
public NodeRepository nodeRepository;

@Autowired
public Evolution evolution;

public PersonalNetwork fromRequest(@NotNull MetricsPayload payload) throws NoSuchMethodException, InstantiationException, IllegalAccessException, InvocationTargetException {
Network network = this.networkRepository.findById(payload.getNetworkId()).orElseThrow(NotFoundException::new);
Node ego = this.nodeRepository.findByTag(payload.getEgoTag()).orElseThrow(NotFoundException::new);
SimpleWeightedGraph opn = this.nodeRepository.extractOPN(ego, payload.getDepth());
return this.fromGraph(opn, ego, payload);
}
Класс предметной области Node:

Код: Выделить всё

@org.springframework.data.neo4j.core.schema.Node("Node")
public class Node {
@Id
private String id;
@Property("tag")
private String tag;
@Relationship(type = "FROM", direction = OUTGOING)
private Set outgoingNodes;
@Relationship(type = "TO", direction = INCOMING)
private Set incomingNodes;
public String getTag() {
return tag;
}

public Set getOutgoingNodes() {
return outgoingNodes;
}
Класс NodeRepository:

Код: Выделить всё

public interface NodeRepository extends Neo4jRepository {
Optional findByTag(String tag);
}
И все же, когда я запускаю API, я получаю эту ошибку:

Не удалось завершить запрос: java.lang .NullPointerException: невозможно вызвать «com.api.repositories.NodeRepository.findByTag(String)», поскольку «this.nodeRepository» имеет значение NULL


Подробнее здесь: https://stackoverflow.com/questions/770 ... sing-neo4j
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «JAVA»