This week's book giveaways are in the Cloud and AI/ML forums. We're giving away four copies each of Cloud Native Patterns and Natural Language Processing and have the authors on-line! See this thread and this one for details.
Interesting fact is, Servlet is supporting NON-Blocking requests since 3.0 released in end of 2009, Where as spring MVC is supports it since Spring 4.0 released Dec 2013.
Another interesting fact is Java is supporting it since jdk 1.4 released 2002 :-) But was too complex to use.
Google for DeferredResult + Spring MVC , you will find many examples.
So to answer your questions.
1) Does Spring Framework use non-blocking IO by default - NO
2 & 3) Can this be configured - Not configured but you can write specific MVC controllers
All desirable things in life are either illegal, banned, expensive or married to someone else !!!
Are you talking about web apps? Spring MVC sits on top of the Servlet API, which itself is the interface between the container and the web application. Threading and Network-IO is managed by the container, not by Spring. Spring MVC doesn't do any threading and IO itself
Almost every container (atleast all of them I know) maintains a thread pool that can be configured. Also, most of them can be configured to use NIO