
Advice 종류 @Around : 메서드 호출 전후에 수행, 가장 강력한 어드바이스, 조인 포인트 실행 여부 선택, 반환 값 변환, 예외 변환 등이 가능 @Before : 조인 포인트 실행 이전에 실행된다. @AfterReturning : 조인 포인트가 정상 완료후 실행된다. @AfterThrowing : 메서드가 예외를 던지는 경우 실행된다. @After : 조인 포인트가 정상 또는 예외에 관계없이 실행(finally)된다. 아래 예제를 살펴보면서 좀 더 깊이 학습해보자! @Slf4j @Aspect public class AspectAdvice { @Around("com.hyuuny.advanced.order.aop.Pointcuts.orderAndService()") public Object doT..

포인트컷 포인트컷은 어디에 부가 기능을 적용할지 판단하는 필터링 로직으로, 주로 클래스와 메서드 이름으로 필터링한다. 어떤 포인트(Point)에 기능을 적용할지 하지 않을지 잘라서(cut) 구분하는 것이라 이해하면 된다. public interface Pointcut { ClassFilter getClassFilter(); MethodMatcher getMethodMatcher(); } public interface ClassFilter { boolean matches(Class clazz); } public interface MethodMatcher { boolean matches(Method method, Class targetClass); //.. } 포인트컷은 크게 ClassFilter 와 Met..

프록시 팩토리 스프링은 유사한 구체적인 기술들이 있을 때, 그것들을 통합해서 일관성 있게 접근할 수 있고 편리하게 사용할 수 있도록 추상화된 기술을 제공한다. 동적 프록시를 통합해서 프록시 팩토리라는 기능을 제공하는데, 프록시 팩토리는 인터페이스가 있으면 JDK 프록시를 사용하고, 구체 클래스가 있다면 CGLIB를 사용한다. 이 내용은 설정을 통해 변경할 수도 있다. Advice Advice는 프록시에 적용하는 부가 기능 로직이다. JDK 동적 프록시가 제공하는 InvocationHandler와 CGLIB가 제공하는 MethodInterceptor의 개념과 유사한데, 이 둘을 추상화 한 것이다. 프록시 팩토리를 사용한다면 이 둘 대신에 Advice를 사용하면 된다. Advice를 만드는 방법은 다양하지만..
- Total
- Today
- Yesterday
- leetcode
- Algorithm
- 정렬
- 스프링
- 구현
- 리팩토링
- webflux
- 알고리즘
- 김영한
- kotlin
- 코틀린
- spring boot
- 그리디
- 스프링부트
- Spring
- 데이터베이스
- 릿코드
- 인프런
- mysql 8.0
- 북클럽
- MySQL
- 스프링 부트
- 문자열
- 백준
- Real MySQL
- 노마드코더
- 코테
- 파이썬
- 자료구조
- 노마드
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |