Я относительно новичок в Spring Boot и внедрении зависимостей в целом, поэтому, пожалуйста, простите любые нубские вещи, которые здесь происходят. Я создаю API, и у меня возникают проблемы с внедрением зависимостей в ресурс POJO (DTO).
Когда я вызываю метод в POJO this.numComments = commentSvc.getAllForPhoto(this.getId());
, я получаю исключение NullPointerException. Однако, когда я делаю это из другого компонента, управляемого пружиной, и передаю значения в конструктор, он работает нормально.
Почитав вокруг, похоже, что мне нужно что-то сделать с аспектомJ и переплетением времени загрузки, но я не уверен, как это будет выглядеть в моем коде.
По сути, мой подход выглядит примерно так:
PhotoResource.java (POJO)
public class PhotoResource extends BaseRepresentable {
@Autowired
CommentService commentSvc;
private Long id;
private Integer numComments;
PhotoResource(PhotoEntity entity){
super(entity);
this.setId(entity.getId);
this.numComments = commentSvc.getAllForPhoto(this.getId());
}
}
CommentService.java
@Service
public class CommentService{
public List<CommentResource> getAllForPhoto(Long photoId) {
// code to get all comments for photo
}
}
Application.java
@SpringBootApplication
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class);
}
}