package org.cevahir.spring; import org.aspectj.lang.JoinPoint; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.AfterReturning; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; import org.aspectj.lang.annotation.Pointcut; import org.springframework.stereotype.Component; @Component @Aspect public class CalAspect { @Before("orkestraCal()") public void log(JoinPoint joinPoint) { System.out.println(joinPoint.getTarget().getClass().getSimpleName() + " hazirlaniyor.."); } @AfterReturning(pointcut = "orkestraCal()") public void log324(JoinPoint joinPoint) { System.out.println(joinPoint.getTarget().getClass().getSimpleName() + " toparlaniyor.."); } @Around("orkestraCal()") public void log3(ProceedingJoinPoint proceedingJoinPoint) { Long currTime = System.currentTimeMillis(); try { proceedingJoinPoint.proceed(); } catch (Throwable e) { // TODO Auto-generated catch block e.printStackTrace(); } System.out.println("Orkestra calmayi " + (System.currentTimeMillis() - currTime) + "ms'da tamamladi."); } @Pointcut("execution(* org.cevahir..*Servisi.cal()) && " + "bean(*Orkesutra)") public void orkestraCal() { } @Around("@target(org.springframework.stereotype.Repository)") public void log355(ProceedingJoinPoint proceedingJoinPoint) { Long txId = System.currentTimeMillis(); if (proceedingJoinPoint.getTarget() instanceof OrkestraServisi) { try { proceedingJoinPoint.proceed(); } catch (Throwable e) { // TODO Auto-generated catch block e.printStackTrace(); } return; } try { System.out.println( txId + " numarali transaction basladi."); proceedingJoinPoint.proceed(); System.out.println( txId + " numarali transaction tamamlandi."); } catch (Throwable e) { // TODO Auto-generated catch block System.out.println( txId + " numarali transaction tamamlanamadi."); } } @Around("@target(org.springframework.stereotype.Repository) && " + "execution(* *(String)) && " + "args(satirrr)") public void degistir(ProceedingJoinPoint proceedingJoinPoint, String satirrr) { String yeniSatir = "> " + satirrr + " <"; try { proceedingJoinPoint.proceed(new Object[]{yeniSatir.toUpperCase()}); } catch (Throwable e) { // TODO Auto-generated catch block e.printStackTrace(); } } }