Book Image

Spring 2.5 Aspect Oriented Programming

Book Image

Spring 2.5 Aspect Oriented Programming

Overview of this book

Developing powerful web applications with clean, manageable code makes the maintenance process much easier. Aspect-Oriented Programming (AOP) is the easiest and quickest way to achieve such results. Spring is the only Java framework to offer AOP features. The combined power of Spring and AOP gives a powerful and flexible platform to develop and maintain feature-rich web applications quickly. This book will help you to write clean, manageable code for your Java applications quickly, utilizing the combined power of Spring and AOP. You will master the concepts of AOP by developing several real-life AOP-based applications with the Spring Framework, implementing the basic components of Spring AOP: Advice, Joinpoint, Pointcut, and Advisor. This book will teach you everything you need to know to use AOP with Spring. It starts by explaining the AOP features of Spring and then moves ahead with configuring Spring AOP and using its core classes, with lot of examples. It moves on to explain the AspectJ support in Spring. Then you will develop a three-layered example web application designed with Domain-Driven Design (DDD) and built with Test-Driven Development methodology using the full potential of AOP for security, concurrency, caching, and transactions.
Table of Contents (13 chapters)

Application layer and user interface


To be used by the users, the Domain Classes have to be used by the controllers that form the application layer. This layer coordinates and interprets the commands given on the User Interface (UI), which is the HTML pages seen by the final user.

Now we will see some controllers that are part of the UI.

CustomerController lets the customer interact with the store. The names of the methods of the Controller are:

  • Create: To perform creation of a new order

  • save: To save the order

  • show: To show the customer details

  • order: To show the content of the order

  • items: To show the items contained in the order

  • remove: To remove an item from the order

The controller is built through Spring MVC annotation. The class is marked as controller with the @Controller annotation with the name customerController. Each method is marked with @RequestMapping to assign the HTTP URL used to call the method on the controller.

Every method returns a ModelAndView object that contains...