Я использую 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
Класс не инициализируется в конструкторе по умолчанию ⇐ JAVA
Программисты JAVA общаются здесь
-
Anonymous
1736064660
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
Подробнее здесь: [url]https://stackoverflow.com/questions/79330309/class-is-not-initialized-in-the-default-constructor[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия