Developing Enterprise Applications with Spring: An End-to-End Approach