NOTE
Thread Safety in Spring MVC Controllers
Why singleton controllers handle concurrent requests and should avoid unsynchronized mutable instance state.
This is a historical learning note and may contain outdated or incomplete understanding.
Spring MVC controllers are commonly singleton Spring beans, and multiple request threads can invoke the same instance concurrently.
Therefore request-specific mutable data must live in method-local/request-scoped state or another correctly synchronized abstraction—not ordinary controller instance fields.
Stateless singleton controllers/services are the simplest default. If shared mutable state is genuinely required, define concurrency semantics explicitly rather than assuming the framework serializes requests.