Junior
Šta su beani u kontekstu Java i Spring?
sobes.tech АИ
Одговор од АИ
U kontekstu Jave i Springa, bean je objekat koji je upravljan od strane Spring IoC (Inversion of Control) kontejnera.
Ključne tačke:
- Objekat: To je bilo koji tipičan Java objekat.
- Upravljanje od strane Springa: Spring kontejner je odgovoran za:
- Kreiranje instanci beana.
- Konfiguraciju (ubrizgavanje zavisnosti).
- Upravljanje životnim ciklusom (inicijalizacija, korišćenje, završetak).
- Konfiguracija: Beani se definišu putem XML, anotacija (
@Component,@Service,@Repository,@Controller,@Bean) ili Java-bazirane konfiguracije. - Stanja: Većina beana su singletoni u kontekstu Spring kontejnera po defaultu, ali mogu imati i druge scope-ove: prototype, request, session i global session.
Primer definisanja beana korišćenjem anotacije @Component:
// Klasa koja je prepoznata od strane Spring kontejnera kao bean
@Component
public class MyService {
// Zavisnost koju će Spring injektovati
private final MyRepository myRepository;
// Konstruktor za injekciju zavisnosti
public MyService(MyRepository myRepository) {
this.myRepository = myRepository;
}
public void doSomething() {
myRepository.getData();
}
}
Primer definisanja beana korišćenjem Java-bazirane konfiguracije:
// Konfiguraciona klasa
@Configuration
public class AppConfig {
// Metod koji deklarise bean
@Bean
public MyService myService(MyRepository myRepository) {
return new MyService(myRepository);
}
@Bean
public MyRepository myRepository() {
return new MyRepository();
}
}
Beani čine okosnicu vaše Spring aplikacije, obezbeđujući koheziju i upravljanje komponentama.