Junior — Middle
Bir sınıf içindeki bir metoda @Bean anotasyonunun kullanılması, bu sınıfın örneği üzerinde ne etki yapar?
sobes.tech yapay zeka
AI'dan gelen yanıt
Аннотация @Bean в Spring Framework используется для определения метода, который создает и возвращает объект, управляемый Spring контейнером как bean.
Если метод с @Bean находится внутри класса, который сам является компонентом Spring (например, помечен @Configuration), то при создании экземпляра этого класса Spring вызовет этот метод и зарегистрирует возвращаемый объект как bean в контексте.
Эффекты использования @Bean на методе:
- Метод вызывается один раз (если scope не изменён), и результат кэшируется как singleton bean.
- Позволяет явно конфигурировать и создавать бины, которые не могут быть автоматически обнаружены через сканирование.
- Позволяет управлять зависимостями и конфигурацией через Java-код.
Пример:
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyServiceImpl();
}
}
В этом примере myService будет зарегистрирован как bean, и его можно будет внедрять в другие компоненты.