Junior
Java ve Spring bağlamında bean nedir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Java ve Spring bağlamında, bir bean, Spring IoC (Inversion of Control) konteyneri tarafından yönetilen bir nesnedir.
Ana noktalar:
- Nesne: Herhangi bir tipik Java nesnesidir.
- Spring tarafından yönetim: Spring Container sorumludur:
- Bean örnekleri oluşturmak.
- Konfigürasyon (bağımlılık enjeksiyonu).
- Yaşam döngüsünü yönetmek (başlatma, kullanma, sonlandırma).
- Konfigürasyon: Beanler XML, anotasyonlar (
@Component,@Service,@Repository,@Controller,@Bean) veya Java tabanlı konfigürasyon ile tanımlanır. - Durumlar: Çoğu bean, varsayılan olarak Spring Container bağlamında singleton’dır, ancak diğer kapsam alanlarına (scope) sahip olabilirler: prototype, request, session ve global session.
@Component anotasyonu kullanılarak bir bean tanımlama örneği:
// Spring Container tarafından bean olarak tanınan sınıf
@Component
public class MyService {
// Spring tarafından enjekte edilen bağımlılık
private final MyRepository myRepository;
// Bağımlılığı enjekte etmek için yapıcı
public MyService(MyRepository myRepository) {
this.myRepository = myRepository;
}
public void doSomething() {
myRepository.getData();
}
}
Java tabanlı konfigürasyon kullanılarak bir bean tanımlama örneği:
// Konfigürasyon sınıfı
@Configuration
public class AppConfig {
// Bean tanımlayan metod
@Bean
public MyService myService(MyRepository myRepository) {
return new MyService(myRepository);
}
@Bean
public MyRepository myRepository() {
return new MyRepository();
}
}
Beanler, Spring uygulamanızın temelini oluşturur ve bileşenlerin bağlılığını ve yönetimini sağlar.