[Spring] Around Advice

유존돌돌이·2021년 9월 2일
0

Spring

목록 보기
4/26
post-thumbnail

1. 객체생성

<bean id = "target" class="spring.aop.entity.NewlecExam" p:kor="1" p:eng="2"/>

2. 부작업(advice) 세팅

<bean id="logAroundAdvice" class="spring.aop.advice.LogAroundAdvice" />

3. Proxy 생성

<bean id="proxy" class="org.springframework.aop.framework.ProxyFactoryBean">
  	<!-- name은 setter이며 통상 SetTarget 이런식이지만 set을 빼고 소문자로 바꾼다(규칙이래) -->
		<property name="target" ret="target">
     <!-- handler 세팅 (interceptorNames)-->
		<property name="interceptorNames">
        	<list>
              <value>logAroundAdvice</value>
          	</list>
        </property>
</bean>

4. LogAroundAdvice.java (Interceptor class)

  1. Interceptor는 MethodInterceptor 인터페이스를 implements한다.
  2. invocation.proceed(); 가 주작업.

5. Proxy를 이용한 주작업 및 AOP 호출

  1. ApplicationContext를 통해 AOP 설정한 Spring xml 객체화 load
  2. proxy context를 호출하고자 하는 객체형으로 불러옴
  3. 그러면 위에 xml에 target과 interceptor를 연결했기 때문에, Interceptor class로 가서 Proxy를 이용하여 Around advise로 호출됨.

0개의 댓글