Sobes.tech
Junior

Ce sunt beans în contextul Java și Spring?

sobes.tech AI

Răspuns de la AI

În contextul Java și Spring, un bean este un obiect gestionat de containerul Spring IoC (Inversion of Control).

Puncte cheie:

  • Obiect: Este orice obiect Java tipic.
  • Gestionare de către Spring: Containerul Spring este responsabil pentru:
    • Crearea instanțelor de beans.
    • Configurarea (injecția dependențelor).
    • Gestionarea ciclului de viață (inițializare, utilizare, finalizare).
  • Configurare: Beans sunt definite prin XML, adnotări (@Component, @Service, @Repository, @Controller, @Bean) sau configurare bazată pe Java.
  • Stări: Majoritatea beans sunt singleton în contextul containerului Spring în mod implicit, dar pot avea și alte scope-uri: prototype, request, session și global session.

Exemplu de definire a unui bean folosind adnotarea @Component:

// Clasă recunoscută ca bean de către containerul Spring
@Component
public class MyService {

    // Dependență injectată de Spring
    private final MyRepository myRepository;

    // Constructor pentru injectarea dependenței
    public MyService(MyRepository myRepository) {
        this.myRepository = myRepository;
    }

    public void doSomething() {
        myRepository.getData();
    }
}

Exemplu de definire a unui bean folosind configurație bazată pe Java:

// Clasă de configurație
@Configuration
public class AppConfig {

    // Metodă care declară un bean
    @Bean
    public MyService myService(MyRepository myRepository) {
        return new MyService(myRepository);
    }

    @Bean
    public MyRepository myRepository() {
        return new MyRepository();
    }
}

Beans formează scheletul aplicației dvs. Spring, asigurând coeziunea și gestionarea componentelor.