Junior — Middle
Milyen hatással van az @Bean annotáció használata egy osztályon belüli módszeren az osztály példányára?
sobes.tech MI
Válasz az MI-től
A @Bean annotáció a Spring Framework-ben egy olyan módszer meghatározására szolgál, amely létrehoz és visszaad egy objektumot, amit a Spring konténer bean-ként kezel.
Ha egy @Bean-nel ellátott módszer egy olyan osztályban van, amely maga is egy Spring komponens (például @Configuration-nel megjelölve), akkor a Spring az osztály példányosítása során meghívja ezt a módszert, és a visszaadott objektumot bean-ként regisztrálja a kontextusban.
A @Bean használatának hatásai:
- A módszer egyszer hívódik meg (ha a scope nem változik), és az eredményt cache-eli singleton bean-ként.
- Lehetővé teszi explicit módon konfigurálni és létrehozni olyan bean-eket, amelyeket nem lehet automatikusan észlelni szkenneléssel.
- Lehetővé teszi a függőségek és konfigurációk kezelését Java kódon keresztül.
Példa:
@Configuration
public class AppConfig {
@Bean
public MyService myService() {
return new MyServiceImpl();
}
}
Ebben a példában a myService bean-ként lesz regisztrálva, és más komponensekbe injektálható.