Middle
Spring-те қандай ауқымдар (scope) білесіз?
sobes.tech AI
AI-дан жауап
Spring Framework-те бірнеше стандартты биндердің көрініс аймақтары бар:
singleton: Әрбір Spring-контейнер контекстінде бір экземпляр жасалады. Бұл әдепкі көрініс аймағы.prototype: Әр сұрау (инъекция) кезінде жаңа бин экземпляры жасалады.request: Әр HTTP сұрауы үшін бір экземпляр жасалады. Бұл тек Spring WebContext-те актуалды.session: Әр HTTP сессиясы үшін бір экземпляр жасалады. Бұл тек Spring WebContext-те актуалды.application:ServletContext-тің барлық өмірлік цикліне бір экземпляр жасалады. Бұл тек Spring WebContext-те актуалды.websocket: Әр WebSocket-сессияның өмірлік цикліне бір компонент экземпляры жасалады. Бұл тек Spring WebSocket-те актуалды.
Көрініс аймағы көрсетілген бин жариялау мысалы:
@Component
@Scope("prototype") // Немесе @Scope(ConfigurableBeanFactory.SCOPE_PROTOTYPE)
public class MyPrototypeBean {
// ...
}
Веб-аймақтар үшін көрініс (request, session, application) әдетте @RequestScope, @SessionScope, @ApplicationScope аннотациялары пайдаланылады.