Курс обучения программированию на Java | Сайт проекта

< Курс обучения программированию на Java >

Вернуться к содержанию курса

Основы фреймворка Spring

Материалы для самоподготовки

Основные материалы

  1. Видео: Spring Framework - Java для тестировщиков
  2. Видеоуроки - Основы Spring
  3. Документация на русском
  4. Видео: Spring-потрошитель, часть 1
  5. Видео: Spring-потрошитель, часть 2

Дополнительные материалы

  1. Презентация по Spring Core
  2. Spring Core documentation: Container
  3. Spring Core documentation: Beans
  4. Spring Core documentation: Dependencies
  5. Spring Core documentation: Scopes
  6. Spring Core documentation: Bean Lifecycle

Практическая работа

Репозиторий с шаблоном практической работы

Вопросы для самоконтроля

Spring Core

  1. Что такое Inversion of Control?
  2. Объясните суть паттерна Dependency Injection. Как он связан с IoC?
  3. Что такое ApplicationContext? Как он связан с BeanFactory?
  4. Что такое bean? Чем он отличается от обычного джава-объекта?
  5. Какие виды инжектирования зависимостей бывают? Есть ли разница между ними?
  6. Что такое bean definition? Как можно их объявлять?
  7. Что происходит с момента запуска Spring-приложения до его начала работы? Что происходит в этом процессе с бинами?
  8. Что означают аннотации @PostConstruct и @PreDestroy?
  9. Как пометить класс как bean? В XML-based, Annotation-based, JavaConfig?
  10. Как заинжектить bean в другой bean? В XML-based, Annotation-based, JavaConfig? Возможно ли заинжектить bean в обычный класс?
  11. Что такое ленивая инициализация бина? Как и когда мы можем её активировать?
  12. Что такое singleton scope? Чем он отличается от prototype scope?
  13. Мы хотим заинжектить в поле типа Integer случайное число. Как это сделать?
  14. Для чего мы пишем аннотацию @Autowired? В чем отличие от @Inject?
  15. Для чего нужны аннотации @Component, @Service @Repository и @Controller? Есть ли у них отличия?
  16. Как загрузить значение из проперти-файла в джаву, используя Spring?
  17. В чем вы видите преимущества и недостатки следующих подходов в конфигурировании: XML-based, Annotation-based и JavaConfig?