Junior
96
questionbank

Какие аннотации ты знаешь для того, чтобы Spring создавал бины на основании этих аннотаций?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech
  • @Component - общая аннотация для управляемых компонентов.
  • @Repository - для классов доступа к данным (DAO).
  • @Service - для классов бизнес-логики.
  • @Controller - для классов, представляющих REST-контроллеры (@RestController - это @Controller + @ResponseBody).
  • @Configuration - для классов, содержащих методы, помеченные @Bean.
  • @Bean - для создания экземпляра бина методом, находящимся в классе @Configuration.
  • @Scope - определяет область видимости бина (singleton, prototype, request, session, application, websocket).
  • @Lazy - указывает на ленивую инициализацию бина.
  • @Primary - указывает предпочтительный бин при наличии нескольких кандидатов одного типа.
  • @Qualifier - используется с @Autowired для указания конкретного бина по имени при наличии нескольких кандидатов одного типа.
  • @Profile - указывает, что бин должен быть создан только при активном определенном профиле.
  • @Value - для внедрения значений из properties-файлов.
  • @Autowired - для автоматического связывания зависимостей (внедрения бинов).
  • @Required - (устаревшая, но может встречаться) указывает, что свойство должно быть установлено при конфигурации.

Пример использования @Configuration и @Bean:

java

Пример использования @Component:

java