Middle
O que é o escopo do Spring?
sobes.tech IA
Resposta da IA
No Spring, o Scope define o ciclo de vida e o âmbito de um bean. Controla quantas instâncias do bean serão criadas e como elas estarão acessíveis.
Principais tipos de Scope:
singleton: Uma única instância do bean é criada no contexto da aplicação. Este é o Scope padrão.prototype: Uma nova instância do bean é criada a cada solicitação.request: Uma instância do bean é criada por requisição HTTP. Aplicável apenas em aplicações web.session: Uma instância do bean é criada por sessão HTTP. Aplicável apenas em aplicações web.application: Uma instância do bean é criada durante toda a vida útil doServletContext. Aplicável apenas em aplicações web.
Exemplo de declaração de um bean com Scope especificado:
@Component
@Scope("prototype") // Especifica o scope prototype
public class MyPrototypeBean {
// ...
}
Ou na configuração XML:
<bean id="myPrototypeBeanInicio" class="com.example.MyPrototypeBean" scope="prototype"/>
A escolha do Scope adequado depende do comportamento e do estado requeridos do bean. Singleton é adequado para beans sem estado, e prototype para beans com estado ou quando se requer isolamento de instâncias. Request, session e application são usados em contextos web para gerenciar o ciclo de vida dos beans de acordo com as requisições, sessões ou toda a aplicação web.