Cerca

Crea una singola istanza di quel bean e tutte le richieste per quel nome di bean restituiranno lo stesso oggetto, che è memorizzato nella cache. Qualsiasi modifica all'oggetto si rifletterà in tutti i riferimenti al bean. Questo ambito è il valore predefinito se non viene specificato nessun altro ambito.

@Scope(value = ConfigurableBeanFactory.SCOPE_SINGLETON)

Un bean con ambito prototipo restituirà un'istanza diversa ogni volta che viene richiesto dal contenitore.

@Scope(value = ConfigurableBeanFactory.SCOPE_PROTOTYPE)

Possiamo definire il bean con l'ambito della richiesta :

@Scope(value = WebApplicationContext.SCOPE_REQUEST, ScopedProxyMode.TARGET_CLASS)

Possiamo anche usare un'annotazione composta da @RequestScope che funge da scorciatoia per la definizione di cui sopra:

@RequestScope

Possiamo definire il bean con l'ambito della sessione web:

@Scope(value = WebApplicationContext.SCOPE_SESSION, ScopedProxyMode.TARGET_CLASS)

Possiamo anche usare un'annotazione composta da @SessionScope che funge da scorciatoia per la definizione di cui sopra:

@SessionScope

L'ambito dell'applicazione crea l'istanza del bean per il ciclo di vita di un ServletContext. Questo è simile allo scope singleton ma c'è una differenza molto importante per quanto riguarda l'ambito del bean. Quando i bean hanno l'ambito dell'applicazione, la stessa istanza del bean viene condivisa tra più applicazioni basate su servlet in esecuzione nello stesso ServletContext, mentre i bean con ambito singleton sono solo nell'ambito di un singolo contesto dell'applicazione.

@Scope(value = WebApplicationContext.SCOPE_APPLICATION, ScopedProxyMode.TARGET_CLASS)

Possiamo anche usare un'annotazione composta da @ApplicationScope che funge da scorciatoia per la definizione di cui sopra:

@ApplicationScope
Indietro