Класс не инициализируется в конструкторе по умолчаниюJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Класс не инициализируется в конструкторе по умолчанию

Сообщение Anonymous »

Я использую Lombok для создания других классов. после сборки проекта maven в целевой папке вы можете видеть, что конструкторы сгенерировались и мой проект был собран, но при попытке запуска появилась следующая ошибка: java: java: переменная NewsService не инициализирована в конструкторе по умолчанию. хотя при создании конструктора вручную все работает.
Это мой контроллер:
@RestController
@RequestMapping("/news")
@RequiredArgsConstructor

public class NewsController {
private final NewsService newsService;

@PostMapping("/create-news")

public ResponseEntity createNews(CreateNewsDto dto) {
newsService.createNews(dto);
return ResponseEntity.status(HttpStatus.CREATED).build();
}
}

Контроллер в целевой папке:
@RestController
@RequestMapping({"/news"})
public class NewsController {
private final NewsService newsService;

@PostMapping({"/create-news"})
public ResponseEntity createNews(CreateNewsDto dto) {
this.newsService.createNews(dto);
return ResponseEntity.status(HttpStatus.CREATED).build();
}

@Generated
public NewsController(final NewsService newsService) {
this.newsService = newsService;
}
}

pom-файл:

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

org.springframework.boot
spring-boot-starter-parent
3.4.1


org.example
news3
0.0.1-SNAPSHOT
news3
news3














17



org.springframework.boot
spring-boot-starter-data-jpa


org.springframework.boot
spring-boot-starter-web



org.postgresql
postgresql
runtime


org.projectlombok
lombok
true
provided
1.18.30


org.springframework.boot
spring-boot-starter-test
test


org.mapstruct
mapstruct
1.5.5.Final






org.apache.maven.plugins
maven-compiler-plugin



org.projectlombok
lombok


org.mapstruct
mapstruct-processor
1.5.5.Final





org.springframework.boot
spring-boot-maven-plugin














Я пытался изменить версии зависимостей, перестроить проект, включить обработку аннотаций в intellij idea.
Мне помогло то, что я добавил аннотацию @Repository для мой репозиторий Jpa (импортируйте org.springframework.stereotype.Repository) и этот фрагмент кода в pom-файле (возможно, у вас есть другие версии плагинов)



org.apache.maven.plugins
maven-compiler-plugin
3.13.0



org.mapstruct
mapstruct-processor
1.5.5.Final


org.projectlombok
lombok
1.18.30


org.projectlombok
lombok-mapstruct-binding
0.2.0



-parameters





Подробнее здесь: https://stackoverflow.com/questions/793 ... onstructor
Ответить

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

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

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

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

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