Spring IoC контейнер: области применения бинов, request

Рассмотрим следующую конфигурацию XML для определения компонента:

<bean id="loginAction" class="com.something.LoginAction" scope="request"/>

Контейнер Spring создает новый экземпляр bean-компонента LoginAction, используя определение bean-компонента loginAction для каждого HTTP-запроса. То есть bean-компонент loginAction находится на уровне HTTP-запроса. Вы можете изменять внутреннее состояние экземпляра, который создается столько раз, сколько вы хотите, потому что другие экземпляры, созданные из того же определения бина loginAction, не видят эти изменения в состоянии. Они относятся к индивидуальному запросу. Когда запрос завершает обработку, компонент, находящийся в области действия запроса, отбрасывается.

При использовании компонентов, управляемых аннотациями, или конфигурации Java, аннотация @RequestScope может использоваться для назначения компонента области запроса. В следующем примере показано, как это сделать:

Java

@RequestScope
@Component
public class LoginAction {
    // ...
}

Kotlin

@RequestScope
@Component
class LoginAction {
    // ...
}


Читайте также:


Комментарии

Популярные сообщения из этого блога

Методы класса Object в Java

Как получить текущий timestamp в Java

Основные опции JVM для повышения производительности и отладки