Sobes.tech
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ó.