This talk introduces AspectJ to developers experienced with Spring and explains core AspectJ constructs. Attendees will learn the essentials of AspectJ and how to use it to create even simpler Spring-based applications.
Combine Spring with AspectJ and you wield enormous power to simplify your enterprise applications. This talk will introduce AspectJ to developers experienced with Spring and explain core AspectJ constructs. The talk will also show several examples that you can readily use in your enterprise applications.
In this talk we will explore how to apply AOP and DI to implement a rich domain model. We will examine the need for domain driven design, technical obstacles in achieving it, and techniques to addressing those obstacles. This session will also present several examples that show the power behind the techniques.
Domain Driven Design (DDD) suggests dealing with complex software system using a domain model and preserving the model in implementation. While the idea behind DDD itself is simple, there are many obstacles in implementing it in practice. Combining Dependency Injection (DI) with a full-fledged aspect-oriented programming (AOP) system such as AspectJ help overcome many obstacles.
In this talk, we will explore ways to effectively apply AOP and DI to implement a domain model. We will examine the need for domain driven design, obstacles in achieving it, the basics of enabling behavior-richness for domain objects, and patterns of usages. This session will also present several examples that show the power behind the techniques. The knowledge gained through this session will enable you to readily apply domain driven design in your systems. This talk will show you that you need AOP to remain true to object-oriented principles!
AspectJ provides powerful ways to modularize crosscutting concerns. With power comes responsibility. By the end of this presentation you will understand how to harness the power of AspectJ to develop clean, testable code while minimizing abuse.
AspectJ provides powerful ways to modularize crosscutting concerns. With power comes responsibility. It is easy to run amok with cool features in AspectJ and abuse its power. This presentation will address many design and implementation considerations in using AspectJ in enterprise applications: How to write good pointcuts? When to use signature-based pointcuts? When to use annotation-based pointcuts? How to use the simplest advice to get the job done? How to deal with exceptions thrown during advice? How to leverage tools in ensuring that you understand what you are doing? How to use the right syntax and weaving model? How to harness power of AOP design patterns?
By the end of this presentation, you will understand ways to harness the power of AspectJ to simplify the overall implementation and minimize its abuses.
To allow the creation of truly modular software, OOP has evolved into aspect-oriented programming. AspectJ is a mature AOP implementation for Java, now integrated with Spring.
AspectJ in Action, Second Edition is a fully updated, major revision of Ramnivas Laddad's best-selling first edition. It's a hands-on guide for Java developers. After introducing the core principles of AOP, it shows you how to create reusable solutions using AspectJ 6 and Spring 3. You'll master key features including annotation-based syntax, load-time weaver, annotation-based crosscutting, and Spring-AspectJ integration. Building on familiar technologies such as JDBC, Hibernate, JPA, Spring Security, Spring MVC, and Swing, you'll apply AOP to common problems encountered in enterprise applications.
This book requires no previous experience in AOP and AspectJ, but it assumes you're familiar with OOP, Java, and the basics of Spring.
"Clear, concisely worded, well-organized ... a pleasure to read."
-From the Foreword by Rod Johnson, Creator of the Spring Framework
"This book teaches you how to think in aspects. It is essential reading for both beginners who know nothing about AOP and experts who think they know it all."
-Andrew Eisenberg, AspectJ Development Tools Project Committer
"Ramnivas showcases how to get the best out of AspectJ and Spring."
-Andy Clement, AspectJ Project Lead
"One of the best Java books in years."
-Andrew Rhine, Software Engineer, eSecLending
"By far the best reference for Spring AOP and AspectJ."
-Paul Benedict, Software Engineer, Argus Health Systems
"Ramnivas expertly demystifies the awesome power of aspect-oriented programming."
-Craig Walls, author of Spring in Action
This core professional compendium breaks down into three main sections. The first presents the basic XML standards, Java APIs and programming tools for handling XML. The second part presents a selection of Java techniques which make up the building blocks for XML-based applications. The section is Java-centric, and presents the common scenarios for XML data I/O, building on the basic tools presented in part one. The final and largest section of the book shows how XML applications can be built on top of the techniques shown in part two, and demonstrates how XML can be used to solve real programming problems.
If you want a hefty box of XML manipulation tools at your disposal and would like to discover how the language could be used in your Java applications, then this book is for you.