Pro Java  EE Spring Patterns: Best Practices and Design Strategies Implementing Java EE Patterns with the Spring Framework