Задать вопрос
@Eka2

Как работет взаимосвязь между классами в Spring Boot Application?

Объясните, пожалуйста, как организована взаимосвязь между классами в примере. Почему выполняются методы, прописанные в классе BookServiceImpl, который реализует интерфейс BookService, ведь из BooksController подключается только интерфейс, а не его реализация. Что будет, если будет несколько вариантов реализации интерфейса BookService?

@RestController
@RequestMapping(value = "/books")
public class BooksController {
	@Autowired
	private BookService bookService;
}

public interface BookService {

}

@Service
public class BookServiceImpl implements BookService {

}
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    Java Spring Framework
    2 месяца
    Далее
  • Учебный центр IBS
    JVA-010 Владение каркасом разработки Spring Framework 5
    1 неделя
    Далее
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
Решения вопроса 1
jaxtr
@jaxtr
JavaEE/Spring-разработчик
Аннотация @Service указывает Spring, что нужно создать экземпляр данного класса и положить его в контекст приложения.

Аннотация @Autowired указывает, что нужно внедрить зависимость в создаваемый экземпляр класса. Подходящая зависимость выбирается по идентификатору, имени или по классу (или его родителю) внедряемой зависимости.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы