In a Spring MVC application, data flow is managed by three main components: DispatcherServlet, Handler Mapping, and View Resolver. The DispatcherServlet acts as the main entry point for requests, Handler Mapping determines which controller should handle the request based on its details, and the View Resolver locates the appropriate template to display the response data. This process involves coordinating the request and response from the user through these components.