Middle
Springдеги биндердин кайсы чөйрөлөрү (scopes) бар?
sobes.tech AI
AIден жооп
Spring Framework-де, бондар үчүн стандарттык көзөмөл аймактары бар:
- singleton
- prototype
- request
- session
- application
- websocket
| Көзөмөл аймагы | Түшүндүрмө |
|---|---|
| singleton | Ар бир Spring контекст үчүн бир бон. Стандарттык. |
| prototype | Ар бир суроо менен жаңы бон түзүлөт. |
| request | Ар бир HTTP суроо үчүн бир бон. |
| session | Ар бир HTTP сессиясы үчүн бир бон. |
| application | Ар бир ServletContext контексти үчүн бир бон. Веб колдонмолор тарабынан колдонулат. |
| websocket | Ар бир WebSocket сессиясы үчүн бир бон. |
request, session, application жана websocket аймактары веб контекстте (мисалы, Spring MVC колдонулганда) актуалдуу.
Аймакты @Scope аннотациясы аркылуу көрсөтүүгө болот:
// singleton мисал
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
@Component
@Scope("singleton") // Ачык көрсөтүлгөн, бирок ал стандарттык. |
public class SingletonBean {
// ...
}
// prototype мисал
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
@Component
@Scope("prototype")
public class PrototypeBean {
// ...
}