Я пытаюсь реализовать интерфейс commandlinerunner как лямбда-выражение непосредственно в классе контроллера весенней загрузки как его функциональный интерфейс. И это должно было быть первым делом, но это не так. Это хорошо работает, если я создаю отдельный класс и добавляю аннотацию @Component
.
.
.
import org.springframework.boot.CommandLineRunner;
@RestController
@RequestMapping("/api/v1")
public class BookController {
@Autowired
private BookRepository bookRepository;
public BookController(BookRepository bookRepository) {
this.bookRepository = bookRepository;
}
CommandLineRunner obj = (String... args) -> {
Book entity1 = new Book("How to stay focused", "Miriyam Bali");
Book entity2 = new Book("Turn the World", "Cliyo Mathew");
Book entity3 = new Book("New Heights", "Arsana Jyesh");
Book entity4 = new Book("Create into leaves", "Nicholas A Buzaz");
List<Book> books = Arrays.asList(entity1, entity2, entity3, entity4);
this.bookRepository.saveAll(books);
};