Spring

chap10 - ★AOP2 @어노테이션 사용, 데이터 처리

hongkd 2020. 1. 3. 12:47

Before Advice 

 

[ memo.xml ]

 

[ Logger.java ]

[ IMemo.java ] 

[ Memo.java ]

 

[ MainTest.java ]

 

 

After Advice

 

[ memo.xml ]

[ Logger.java ]

[ MainTest.java ]

 

 

 

 

 

[ IMemo.java ] 

[ Memo.java ]

[ Logger.java ]

 

[ memo.xml ]

 

[ MainTest.java ]

 

 

 

 

 

[ IMemo.java ] 

 

[ Memo.java ]

[ Logger.java ]

[ memo.xml ]

 

[ MainTest.java ]

 

 

==================================================================

 

 

AOPConsoleTest 프로젝트와 설정부분은 모두 동일하다.

 

차이점은 xml을 사용하지 않고 @ 어노테이션을 사용할것이다.

 

[ pom.xml ]

AOPConsoleTest 프로젝트의 pom.xml에 부분을 복사해 왔다.

 

[ memo.xml ]

 

 

[ IMemo.java ] 

[ Memo.java ]

위에 두가지는 기존 AOPConsoleTest프로젝트와 동일하다.

 

 

[ Logger.java ]

 

 

around 메소드는 @Around 를 붙여줌으로서 Around 방식으로 사용된다.

@Around("m1()") 의 m1은 @Pointcut 에서 지정해준 대상체를 가져온것이다.

 

[ MainTest.java ]

 기존 AOPConsoleTest프로젝트와 동일하다.

 

모든 결과는  기존 AOPConsoleTest프로젝트와 동일하게 나온다.

 

 

[ MainTest.java ]

 

==================================================================

 

 

데이터 처리

 

 

[ pom.xml ]

기존의 AOPConsoleTestAnno 프로젝트에서 필요 부분을 붙여 왔다.

 

 

bean 을 넣어야 하므로 xml을 만든다.

 

 

[ main.xml ]

기존의 AOPConsoleTestAnno 프로젝트에서 모두 붙여와서 변경했다.

 

[ ICore.java ]

[ Core.java ]

 

[ Cross.java ]

 

[ MainTest.java ]

 

[ Core.java ]

 

[ Cross.java ]

JoinPoint joinPoint 가 public void com.test.pointcut.Core.m1    Core 이므로 위에 처럼

get 이 가능한 것이다.

 

 

[ ICore.java ]

[ Core.java ]

[ Cross.java ]

[ MainTest.java ]

 

 

 

 

[ Core.java ]

 

[ Cross.java ]

 

[ MainTest.java ]

 

 

 

After Advice

 

[ ICore.java ]

 

[ Core.java ]

 

[ Cross.java ]

[ MainTest.java ]

 

 

[ Core.java ]

 

[ Cross.java ]

 

 

여기서 하나 알아 두어야 할것은 joinPoint 는 Before에서 사용되어지고

After에서는 사용되지 않는다.

 

 

 

 

 

AOPConsoleTestPointcut 프로젝트 참고!!!!

교수님 팔일을 가지고 온것이다.

Pointcut 에 대해 알고자 하는 것이다.