Presentation is loading. Please wait.

Presentation is loading. Please wait.

Kansas City Java User’s Group Jason W. Bedell July 12, 2006

Similar presentations


Presentation on theme: "Kansas City Java User’s Group Jason W. Bedell July 12, 2006"— Presentation transcript:

1 Kansas City Java User’s Group Jason W. Bedell July 12, 2006
Spring Framework Kansas City Java User’s Group Jason W. Bedell July 12, 2006

2 Overview J2EE Alternative
Inversion of Control (IoC) vs. Dependency Injection (DI) Aspect Oriented Programming (AOP) Spring Modules Example Application Dependency Injection Example AOP Example Real-World Application – DI & AOP

3 J2EE Alternative Heavyweight complexity
An easier way to connect disparate components Enterprise Services using POJO’s Other players: PicoContainer, HiveMind, Avalon

4 IoC and Dependency Injection
IoC an earlier, more general term Think “plug-ins” Behavior is configured instead of programmed. Dependency Injection is a pattern to achieve IoC Alternative patterns: Service Locator

5 Aspect Oriented Programming
“AOP enables modularization of crosscutting concerns” AOP Terms: Aspects Joinpoints Advice Cutpoints Introductions Targets Proxy Weaving Alternative AOP Containers: AspectJ, JBoss

6 AOP Terms Aspects: Joinpoints Advice Cutpoints Introductions Targets
The modularized logic that is being applied throughout an application. Examples: Logging, Security, Transaction Management, etc. Joinpoints An execution point where an aspect can be applied. Examples: a method being called, a method returning, an exception being thrown, a field being modified, etc. Advice The actual implementation of an aspect. Cutpoints The joinpoints where advice should be applied. Introductions A method or attribute that you introduce to an existing class Targets A class that is being advised Example: Course Service, Student Service, etc. Proxy The object created after applying advice to a target object. Weaving The process of applying aspects to target objects to create a new, proxied object. Weaving can occur at compile time, classload time, runtime.

7 Spring Modules The core container Application context module
AOP Module JDBC abstraction and DAO module O/R mapping integration module (supports Hibernate, JDO, Oracle TopLink, Apache OJB, and iBATIS) Web module MVC framework

8 Example Application Dependency Injection (DI) Example

9 Example Application AOP Example
Determine what Joinpoint to use as our Cutpoint Implement the Aspect in the form of Advise Define a Spring Advisor Spring Advisor: the combination of advice that defines the aspect’s behavior and a pointcut defining where the aspect should be executed. Spring allows you to define your own advisor or use a predefined, packaged advisor Define your bean proxy Inject your Advisor into the Proxy as an Interceptor

10 Real World Example DI & AOP
Application Tier SpringMVC Framework Tiles, JSTL Service Tier Service POJO Targets Persistence Tier DAO POJO Targets Hibernate Framework Security Aspect Acegi Framework Advisor Transaction Support Aspect Spring Transaction Management Advisor


Download ppt "Kansas City Java User’s Group Jason W. Bedell July 12, 2006"

Similar presentations


Ads by Google