Junior
Mi az a bean a Java és Spring kontextusában?
sobes.tech MI
Válasz az MI-től
Java és Spring kontextusában egy bean egy olyan objektum, amelyet a Spring IoC (Inversion of Control) konténer kezel.
Fő pontok:
- Objektum: Bármilyen tipikus Java objektum.
- Spring által történő kezelés: A Spring Konténer felelős:
- Bean példányok létrehozása.
- Konfiguráció (függőségek injektálása).
- Az életciklus kezelése (kezdeti, használat, befejezés).
- Konfiguráció: A bean-ek XML, annotációk (
@Component,@Service,@Repository,@Controller,@Bean) vagy Java-alapú konfiguráció segítségével definiálhatók. - Állapotok: A legtöbb bean singleton a Spring Konténer alapértelmezett kontextusában, de lehetnek más scope-ok is: prototype, request, session és global session.
@Component annotációval történő bean-definíció példája:
// Osztály, amit a Spring Konténer bean-ként ismer fel
@Component
public class MyService {
// Függőség, amit a Spring injektál
private final MyRepository myRepository;
// Konstruktor a függőség injektálásához
public MyService(MyRepository myRepository) {
this.myRepository = myRepository;
}
public void doSomething() {
myRepository.getData();
}
}
Java-alapú konfigurációval történő bean-definíció példája:
// Konfigurációs osztály
@Configuration
public class AppConfig {
// Metódus, ami bean-t deklarál
@Bean
public MyService myService(MyRepository myRepository) {
return new MyService(myRepository);
}
@Bean
public MyRepository myRepository() {
return new MyRepository();
}
}
A bean-ek a Spring alkalmazásának vázát alkotják, biztosítva a komponensek összekapcsoltságát és kezelését.