spring aop

Download Spring aop

If you can't read please download the document

Upload: roman-pichlik

Post on 25-May-2015

487 views

Category:

Documents


1 download

TRANSCRIPT

  • 1. Spring framework Motto: Muste rozbt vejce kdy chcete udlat omeletuSpring framework training materials by Roman Pichlk is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.Sunday 13 May 2012 1

2. Spring AOP Netradin pstup k een tradinch problmSunday 13 May 2012 2 3. MylenkaV kad aplikaci mme kousky kdu, kter se nm prolnaj vemivrstvami na aplikace, ale do dn nepat konkrtn. Tmto kouskmkdu meme kat aspekty.AOP nabz monost tyto aspekty prolnat stvajcm kdem anibychom tento kd museli modikovat.Sunday 13 May 20123rozdil oproti proxy td i wrapperu - monost aplikovat hromadn 4. AOP Nov pstup pro een tradinch oblast implementan overhead Aspekt Ucelen kus kdu Java tda Typy Produkn VvojovSunday 13 May 20124 5. Zkladn pojmy Join Point Denuje stavy, ve kterch se me nachzet vykonvn kdu nap.voln metody, voln konstruktoru, statick inicializace atd. Pointcut Denuje jazyk, pomoc kterho se lze na jednotliv Join Ponty zavsit Advice Umouje nadenovat vlastn kd, kter se vykon v zvislosti nazaven pointcatu. V podstat kdy nastane tohle, udlm toto. Weaving zalenn aspectu do kdu aplikace Target object clov objekt, kter je obohacen o aspektSunday 13 May 2012 5 6. Aspect = Advice + PointcutSunday 13 May 2012 6 7. Advices Before advice After returning advice After (nally) advice Around adviceSunday 13 May 2012 7Before advice: Advice that executes before a join point, but which does not have the ability to prevent execution flow proceeding to the join point (unless it throws an exception).After returning advice: Advice to be executed after a join point completes normally: for example, if a method returns without throwing an exception.After throwing advice: Advice to be executed if a method exits by throwing an exception.After (finally) advice: Advice to be executed regardless of the means by which a join point exits (normal or exceptional return).Around advice: Advice that surrounds a join point such as a method invocation. This is the most powerful kind of advice. Around advice can perform custom behavior before and after themethod invocation. It is also responsible for choosing whether to proceed to the join point or to shortcut the advised method execution by returning its own return value or throwing anexception. 8. Jednoduch prolovac aspectSunday 13 May 20128 9. Anotace deklarujc Aspect Anotace deklarujc advice@Aspect Pointcut denicepublic class ProfilingAspect {@Around("execution(* cz.sweb.pichlik.springaop.dao.UserStorageDao.*(..))") public Object tracingMethod(ProceedingJoinPoint call) throws Throwable{ long start = System.nanoTime(); try{ return call.proceed(); Voln target objektu }finally{ long time = System.nanoTime() - start; System.out.println("Invocation time:"+ time + "ns"); } }}Sunday 13 May 20129 10. Spring AOP Integrace AspectJ Anotace, XML Runtime weaving proxy proxy Load time weaving classloaderSunday 13 May 201210AspectJ integrace - oezan pointcut langauge 11. Spring AOP weavingSunday 13 May 201211 12. AOP netradin ppady uit Synchronizace Kontrola zmk Re-try voln Peklad vjimek Cacheovn vsledk voln metodSunday 13 May 201212 13. Praktick cvienSunday 13 May 2012 13 14. Upravte tdu CachingAspect, aby slouila jako cache pro UserStorageDao Jako cache lze pout obyejnou Mapu Update, Save, Delete metody invalidauj cache Get metoda vrac vsledek z cache a nebo deleguje voln na DAO a vsledek ulo do cache CachingAspectTest mus projtSunday 13 May 201214