The fact that Spring 5 has incorporated Reactive Systems into its core framework has shown the paradigm shift toward declarative programming. Reactive Programming manages asynchronous data flows between producers of data and consumers that need to react to that data in a non-blocking manner .