Junior
Čo sú to beany v kontexte Java a Spring?
sobes.tech AI
Odpoveď od AI
V kontexte Javy a Springu je bean objekt, ktorý je spravovaný kontajnerom Spring IoC (Inversion of Control).
Kľúčové body:
- Objekt: Je to akýkoľvek bežný Java objekt.
- Správa Spring: Kontajner Spring je zodpovedný za:
- Vytváranie inštancií beanov.
- Konfiguráciu (injektáž závislostí).
- Riadenie životného cyklu (inicializácia, použitie, ukončenie).
- Konfigurácia: Beany sú definované pomocou XML, anotácií (
@Component,@Service,@Repository,@Controller,@Bean) alebo Java-bázovanej konfigurácie. - Stavy: Väčšina beanov sú singletony v kontexte Spring kontajnera podľa predvoleného nastavenia, ale môžu mať aj iné scope: prototype, request, session a global session.
Príklad definície beana pomocou anotácie @Component:
// Trieda, ktorú Spring kontajner rozpozná ako bean
@Component
public class MyService {
// Závislosť, ktorú Spring injektuje
private final MyRepository myRepository;
// Konštruktor na injektovanie závislosti
public MyService(MyRepository myRepository) {
this.myRepository = myRepository;
}
public void doSomething() {
myRepository.getData();
}
}
Príklad definície beana pomocou Java-bázovanej konfigurácie:
// Konfiguračná trieda
@Configuration
public class AppConfig {
// Metóda, ktorá deklaruje bean
@Bean
public MyService myService(MyRepository myRepository) {
return new MyService(myRepository);
}
@Bean
public MyRepository myRepository() {
return new MyRepository();
}
}
Beany tvoria kostru vašej Spring aplikácie, zabezpečujúc súdržnosť a správu komponentov.