Junior
Java жана Spring контекстинде бина деген эмне?
sobes.tech AI
AIден жооп
Java we Spring kontekstinde, bean - bu Spring IoC (Inversion of Control) konteyneri tarapyndan dolandyrylýan obýekt.
Esasy nokatlar:
- Obýekt: Bu, her dürli adaty Java obýektidir.
- Spring tarapyndan dolandyrylýar: Spring Konteyner jogapkärdir:
- Bean nusgalaryny döretmek.
- Konfiqurasiýa (baglanyşyklary injektsiya etmek).
- Ömür çyzgysyny dolandyrmak (başlatmak, ulanmak, tamamlamak).
- Konfiqurasiýa: Beanler XML, annotations (
@Component,@Service,@Repository,@Controller,@Bean) ýa-da Java esasly konfiqurasiýa arkaly kesgitlenýär. - Statuslar: Köplenç beanler Spring Konteýner kontekstinde singleton bolup, başga scope-ler (scope): prototype, request, session we global session bolup biler.
@Component annotation ulanyp bean kesgitläniň mysaly:
// Spring Konteýneri tarapyndan bean hökmünde tanalýan klass
@Component
public class MyService {
// Spring injektsiya etjek garaşýanlyk
private final MyRepository myRepository;
// Garaşýanlygy injektsiya etmek üçin konstruktor
public MyService(MyRepository myRepository) {
this.myRepository = myRepository;
}
public void doSomething() {
myRepository.getData();
}
}
Java esasly konfiqurasiýa ulanyp bean kesgitläniň mysaly:
// Konfiqurasiýa klassy
@Configuration
public class AppConfig {
// Bean-ny beyan edýän metod
@Bean
public MyService myService(MyRepository myRepository) {
return new MyService(myRepository);
}
@Bean
public MyRepository myRepository() {
return new MyRepository();
}
}
Beanler Spring programmanyň çägini düzýär, komponentleriň baglanyşygyny we dolandyrylyşyny üpjün edýär.