Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
React
JavaScript
Git
Redux
Webpack
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на React Developer в телеграм
Какие признаки JavaBean?
JavaBean — это класс в Java с определенными стандартами, которые делают его удобным для использования в фреймворках. Признаки: он имеет конструктор без параметров, предоставляет доступ к свойствам через геттеры и сеттеры, а также реализует интерфейс Serializable для поддержки сериализации.
Что такое Bean?
Bean в Spring — это объект, который управляется контейнером Spring IoC (Inversion of Control). Бины обычно создаются, настраиваются и используются для инкапсуляции бизнес-логики, управления данными или предоставления сервисов. Контейнер Spring автоматически управляет жизненным циклом бина, его зависимостями и настройками.
Какой жизненный цикл Spring Beans?
Жизненный цикл Spring Bean состоит из этапов создания, настройки зависимостей, инициализации, использования и уничтожения. Контейнер автоматически выполняет все эти шаги, вызывая методы, такие как @PostConstruct для настройки перед использованием и @PreDestroy для завершения работы. Пользователи могут настраивать этапы жизненного цикла через интерфейсы или аннотации.
Когда создаётся Spring Bean и как Spring определяет необходимость его создания?
По умолчанию Spring создаёт singleton-бины при старте контекста приложения (eager initialization). Beans с scope="prototype" или помеченные @Lazy инициализируются при первом запросе. Spring определяет, какие Beans создавать, анализируя конфигурацию: сканируемые компоненты (@Component и др.), методы @Bean и импортированные конфигурации.
Для чего используются BeanPostProcessor и BeanFactoryPostProcessor?
BeanPostProcessor - модификация созданных бинов
BeanFactoryPostProcessor - модификация конфигурации до создания бинов
Используются для расширения функциональности Spring.
Чем аннотация @Bean отличается от @Service/@Component?
Чем бин (bean) отличается от обычного объекта?
Что такое BeanDefinition?
Что делает @ConditionalOnMissingBean?
Рейтинг:
2
Сложность:
7
@Bean используется в конфигурационных классах для явного создания бинов, часто для сторонних классов. @Component, @Service, @Repository — это стереотипные аннотации для автоматического сканирования и создания бинов из ваших классов. @Service и @Repository являются специализированными версиями @Component с дополнительной семантикой.
Рейтинг:
2
Сложность:
6
Бин — это объект, который управляется Spring-контейнером. В отличие от обычного объекта, бин создаётся, настраивается и управляется контейнером Spring. Бины получают преимущества Spring: dependency injection, scope management, AOP, lifecycle callbacks. Обычный объект создается через new и не имеет этих возможностей.
Рейтинг:
4
Сложность:
7
BeanDefinition — это метаданные о бине.
Она описывает, как создать бин и какие у него свойства.
Spring читает BeanDefinition при старте контекста.
На основе этих данных контейнер создает бины.
Рейтинг:
4
Сложность:
6
@ConditionalOnMissingBean указывает Spring создавать бин только если в контексте ещё нет бина нужного типа. Аннотация активно используется в автоконфигурациях Spring Boot. Она позволяет переопределять стандартные бины своими реализациями. Это делает конфигурацию гибкой и расширяемой без изменения фреймворка.
Рейтинг:
3
Сложность:
6
Рейтинг:
4
Сложность:
6
Рейтинг:
4
Сложность:
6
Рейтинг:
2
Сложность:
5
Рейтинг:
1
Сложность:
7