Spring

Расскажите про аннотацию @Inject.


Аннотация @Inject является частью стандарта CDI (Contexts and Dependency Injection) в Java EE и используется для инъекции зависимостей в классы. Она предоставляет возможность автоматического связывания и доступа к зависимостям в приложении. @Inject может быть применена к полям, методам и конструкторам класса. При использовании аннотации @Inject, вы можете инъецировать экземпляры классов, интерфейсы или ресурсы, которые должны быть доступны в классе. Примеры использования аннотации @Inject: 1. Внедрение зависимости через поле: @Inject private UserService userService; 2. Внедрение зависимости через сеттер: private EmailService emailService; @Inject public void setEmailService(EmailService emailService) { this.emailService = emailService; } 3. Внедрение зависимости через конструктор: private final Logger logger; @Inject public MyService(Logger logger) { this.logger = logger; } При использовании аннотации @Inject, CDI контейнер ищет соответствующую зависимость в контексте приложения и автоматически внедряет ее в класс. CDI контейнер также управляет жизненным циклом зависимости и обеспечивает ее создание и уничтожение. Важно отметить, что аннотация @Inject является частью Java EE и используется в контейнере Java EE, таком как сервер приложений, который поддерживает стандарт CDI. Она также может быть использована во фреймворках, которые поддерживают CDI, таких как Spring.


Копировать ссылку