Какую весеннюю аннотацию нужно поместить в метод интерфейса commandlinerunner в контроллере - PullRequest
0 голосов
/ 11 октября 2019

Я пытаюсь реализовать интерфейс 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);
    };

1 Ответ

1 голос
/ 11 октября 2019

Вы можете достичь этого. это будет работать.

.
.
import org.springframework.boot.CommandLineRunner;

@RestController
@RequestMapping("/api/v1")
public class BookController {

@Autowired
private BookRepository bookRepository;

public BookController(BookRepository bookRepository) {
    this.bookRepository = bookRepository;
}

@Bean
public CommandLineRunner run() throws Exception {
    return 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);
    };
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...