일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 29 | 30 | 31 |
- Spring Boot
- transaction
- Android
- SpringBoot
- Exception
- pointcut
- JPQL
- jpa
- Proxy
- springdatajpa
- 백준
- QueryDSL
- 스프링 핵심 원리
- 그리디
- spring
- 인프런
- JDBC
- Greedy
- kotlin
- Servlet
- 스프링
- 스프링 핵심 기능
- java
- db
- Thymeleaf
- http
- 자바
- 김영한
- 알고리즘
- AOP
- Today
- Total
목록MethodInterceptor (2)
개발자되기 프로젝트
1. Advice Advice 는 프록시에 적용하는 부가 기능 로직이다. 이것은 JDK 동적 프록시가 제공하는 InvocationHandler 와 CGLIB가 제공하는 MethodInterceptor 의 개념과 유사. 둘을 개념적으로 추상화 한 것이다. 프록시 팩토리를 사용하면 둘 대신에 Advice 를 사용하면 된다. Advice 를 만드는 방법은 여러가지가 있지만, 기본적인 방법은 다음 인터페이스를 구현하면 된다. Methodinterceptor - 스프링이 제공하는 코드 -> Advice는??? : Interceptor가 Advice를 상속함 ㅋㅋㅋ package org.aopalliance.intercept; public interface MethodInterceptor extends Interc..
1. CGLIB: Code Generator Library CGLIB는 바이트코드를 조작해서 동적으로 클래스를 생성하는 기술을 제공하는 라이브러리이다. CGLIB를 사용하면 인터페이스가 없이 구체 클래스만 가지고 동적 프록시를 만들어낼 수 있다. CGLIB는 원래는 외부 라이브러리인데, 스프링 프레임워크가 스프링 내부 소스 코드에 포함했다. 따라서 스프링을 사용한다면 별도의 외부 라이브러리를 추가하지 않아도 사용할 수 있다. 참고로 우리가 CGLIB를 직접 사용하는 경우는 거의 없다. 이후에 설명할 스프링의 ProxyFactory 라는 것이 이 기술을 편리하게 사용하게 도와주기 때문에, 너무 깊이있게 파기 보다는 CGLIB가 무엇인지 대략 개념만 잡으면 됨. 2. 예제 - 준비 public interfa..