Sobes.tech
Junior — Middle

Quante istanze del controller vengono create in Spring MVC durante il suo utilizzo?

sobes.tech AI

Risposta dell'AI

In Spring MVC, i controller sono singleton per impostazione predefinita, cioè viene creata esattamente un'istanza per ogni controller durante tutto il ciclo di vita dell'applicazione. Ciò è dovuto al fatto che il contenitore Spring gestisce i bean dei controller e li crea con scope singleton, a meno che non venga specificato diversamente.

Questo approccio consente un uso efficiente delle risorse e garantisce la sicurezza thread-safe quando il controller è implementato correttamente (senza stato, dipendente dalla richiesta). Se è necessario un altro scope, come prototype o request, può essere specificato con l'annotazione @Scope.

Esempio:

@Controller
@Scope("singleton") // di default
public class MyController {
    // metodi di gestione delle richieste
}