0% found this document useful (0 votes)
728 views

AOP Presentation

Aspect-Oriented Programming (AOP) provides another way of thinking about program structure by making aspects the unit of modularity, rather than classes. Aspects enable the modularization of crosscutting concerns, such as transaction management, that affect multiple types and objects. One of the key components of the Spring framework is its AOP support. While Spring does not require AOP, it complements Spring Inversion of Control (IoC) to provide a capable middleware solution. AOP in Spring is used to provide declarative enterprise services as an alternative to EJB services, and to allow users to implement custom aspects alongside their object-oriented code.

Uploaded by

mohanraop
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
728 views

AOP Presentation

Aspect-Oriented Programming (AOP) provides another way of thinking about program structure by making aspects the unit of modularity, rather than classes. Aspects enable the modularization of crosscutting concerns, such as transaction management, that affect multiple types and objects. One of the key components of the Spring framework is its AOP support. While Spring does not require AOP, it complements Spring Inversion of Control (IoC) to provide a capable middleware solution. AOP in Spring is used to provide declarative enterprise services as an alternative to EJB services, and to allow users to implement custom aspects alongside their object-oriented code.

Uploaded by

mohanraop
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 4

Aspect Oriented Programming with Spring

Introduction
Aspect-Oriented Programming (AOP) complements Object-Oriented 
Programming (OOP) by providing another way of thinking about 
program structure. The key unit of modularity in OOP is the class, 
whereas in AOP the unit of modularity is the aspect. Aspects 
enable the modularization of concerns such as transaction 
management that cut across multiple types and objects. (Such 
concerns are often termed crosscutting concerns in AOP 
literature.)
One of the key components of Spring is the AOP framework. While 
the Spring IoC container does not depend on AOP, meaning you 
do not need to use AOP if you don't want to, AOP complements 
Spring IoC to provide a very capable middleware solution.

AOP is used in the Spring Framework to...
... provide declarative enterprise services, especially as a 
replacement for EJB declarative services. The most important such 
service is declarative transaction management.
... allow users to implement custom aspects, complementing their 
use of OOP with AOP.
AOP concepts
Aspect:  a  modularization  of  a  concern  that  cuts  across  multiple  classes. 
Transaction  management  is  a  good  example  of  a  crosscutting  concern  in 
J2EE applications. 

Join point: a point during the execution of a program, such as the execution 
of  a  method  or  the  handling  of  an  exception.  In  Spring  AOP,  a  join 
point always represents a method execution. 

Advice:  action  taken  by  an  aspect  at  a  particular  join  point.  Different  types 
of advice include "around," "before" and "after" advice.  

Pointcut:  a  predicate  that  matches  join  points.  Advice  is  associated  with  a 
pointcut expression and runs at any join point matched by the pointcut (for 
example, the execution of a method with a certain name).  

Target object: object being advised by one or more aspects. Also referred to 
as  the advised object.  Since  Spring  AOP  is  implemented  using  runtime 
proxies, this object will always be a proxied object. 
AOP proxy: an object  created  by  the AOP  framework  in order to implement 
the  aspect  contracts  (advise  method  executions  and  so  on).  In  the  Spring 
Framework, an AOP proxy will be a JDK dynamic proxy or a CGLIB proxy. 
eaving:  linking  aspects  with  other  application  types  or  objects  to  create  an 
advised  object.  This  can  be  done  at  compile  time  (using  the  AspectJ 

You might also like