In this chapter we've learned how to write a basic web application. The application brought together some of the services we've defined in the previous chapters.
The application had layered architecture. All were configured with the Spring framework (data sources, repositories, transactions, knowledge bases, services, view controllers, and others). Spring makes it easy to change the configuration without recompiling the code.
We've learned how to integrate transactions with our services. For example, all new customers are validated, persisted, and all this happens within a transaction. The complex event processing service is notified about all important events within the application.
The loan approval process showed how to deal with a long-running ...