Explore the power of modular programming for building applications with Java and Spring! About This Book ¥ Understand the basic concepts of Modular Programming to build enterprise applications with Java ¥ Create short and precise code and eliminate recursion ¥ The book follows a step-by-step approach that makes implementing Modular Programming easy Who This Book Is For This book targets Java developers who have a basic knowledge of application development with Java and are interested in learning the Modular Programming approach for building reusable applications that are easy to test, and thus improve overall project management. What You Will Learn ¥ Learn about Modular Programming and what modules an enterprise application can be divided into. ¥ Set up a development environment and create a "Hello World" application. ¥ Start implementing a sample application from the presentation layer. ¥ Implement the persistence layer. ¥ Implement the business layer, wrapping up all of the modules with Contexts and Dependency Injection (CDI). ¥ Manage an application's life cycle. ¥ Learn how to secure Web applications. ¥ Test enterprise applications and their automation. ¥ Understand how to version source code using Source Code Management (SCM) systems such as GIT and SVN. In Detail Modular programming means dividing an application into small parts and then developing it. It is an approach taken by developers to build applications and helps them add efficiency in their development process, thus making it more effective. The book starts with the fundamentals of Modular Programming. Then we move on to the actual implementation, where we teach developers how to divide an application into different modules or layers (such as presentation, execution, security, lifecycle, services, and so on) for better management. Once readers are well-versed in these modules and their development, the book shows how to create bindings in order to join these different modules and form a complete application. Next, the readers will learn how to manage these modules through dependency injection. Later, we move on to testing; readers will learn how to test the different modules of an application. The book ends by teaching readers how to maintain different versions of their application and how to modify it. By the end of the book, readers will have a good understanding of modular programming and will be able to use it to build applications with Java. Style and approach This book is a practical guide to help readers learn Modular Programming with Java and build an enterprise-ready app along the way. The book is divided into three major sections. The first teaches the fundamentals of Modular Programming and how to implement them; the second teaches readers to combine and manage the modules developed; in the final section, the book explains the applications of Modular Programming.