Junior
Co jsou to beany v kontextu Java a Spring?
sobes.tech AI
Odpověď od AI
V kontextu Java a Spring je bean objekt, který je spravován kontejnerem Spring IoC (Inversion of Control).
Klíčové body:
- Objekt: Je to jakýkoli běžný Java objekt.
- Správa Spring: Kontejner Spring je zodpovědný za:
- Vytváření instancí beanů.
- Konfiguraci (injekci závislostí).
- Řízení životního cyklu (inicializace, použití, ukončení).
- Konfigurace: Beany jsou definovány pomocí XML, anotací (
@Component,@Service,@Repository,@Controller,@Bean) nebo Java-based konfigurace. - Stavy: Většina beanů jsou singletony v kontextu Spring Container podle výchozího nastavení, ale mohou mít i jiné scope: prototype, request, session a global session.
Příklad definice beanu pomocí anotace @Component:
// Třída, kterou Spring Container rozpozná jako bean
@Component
public class MyService {
// Závislost, kterou Spring injektuje
private final MyRepository myRepository;
// Konstruktor pro injekci závislosti
public MyService(MyRepository myRepository) {
this.myRepository = myRepository;
}
public void doSomething() {
myRepository.getData();
}
}
Příklad definice beanu pomocí Java-based konfigurace:
// Konfigurační třída
@Configuration
public class AppConfig {
// Metoda, která deklaruje bean
@Bean
public MyService myService(MyRepository myRepository) {
return new MyService(myRepository);
}
@Bean
public MyRepository myRepository() {
return new MyRepository();
}
}
Beany tvoří základ vaší Spring aplikace, zajišťují propojenost a správu komponent.