1 / 10

Spring Framework

Spring Framework. Kansas City Java User’s Group Jason W. Bedell July 12, 2006. Overview. J2EE Alternative Inversion of Control (IoC) vs. Dependency Injection (DI) Aspect Oriented Programming (AOP) Spring Modules Example Application Dependency Injection Example AOP Example

hafwen
Download Presentation

Spring Framework

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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: • 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 ApplicationDependency Injection (DI) Example

  9. Example ApplicationAOP 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 ExampleDI & 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

More Related