일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- Servlet
- jpa
- 김영한
- 스프링
- Greedy
- JDBC
- QueryDSL
- 스프링 핵심 기능
- http
- transaction
- kotlin
- 인프런
- java
- SpringBoot
- Thymeleaf
- Android
- 백준
- 알고리즘
- pointcut
- AOP
- spring
- 자바
- Proxy
- 스프링 핵심 원리
- Exception
- springdatajpa
- db
- JPQL
- Today
- Total
목록args (3)
개발자되기 프로젝트
다음포인트컷들은 표현식을 사용해서 어드바이스에 매개변수를 전달할 수 있다. this, target, args,@target, @within, @annotation, @args @Before("allMember() && args(arg,..)") public void logArgs3(String arg) { log.info("[logArgs3] arg={}", arg); } 포인트컷의 이름과 매개변수의 이름을 맞추어야 한다. 여기서는 arg 로 맞추었다. 추가로 타입이 메서드에 지정한 타입으로 제한된다. (당연...) 여기서는 메서드의 타입이 String 으로 되어 있기 때문에 다음과 같이 정의되는 것으로 이해하면 된다. args(arg,..) --> args(String,..) 1. Test @Slf4j..
1. 정의 @target : 실행 객체의 클래스에 주어진 타입의 애노테이션이 있는 조인 포인트 @within : 주어진 애노테이션이 있는 타입 내 조인 포인트 2.설명 @target , @within 은 다음과 같이 타입에 있는 애노테이션으로 AOP 적용 여부를 판단한다. @target(hello.aop.member.annotation.ClassAop) -->@ClassAop붙은 타입에 AOP 적용됨 @within(hello.aop.member.annotation.ClassAop) -->@ClassAop붙은 타입에 AOP 적용됨 @ClassAop class Target{} 3. @target vs @within @target 인스턴스의 모든 메서드를 조인 포인트로 적용한다. 부모 클래스의 메서드까지 어드..
args : 인자가 주어진 타입의 인스턴스인 조인 포인트로 매칭 기본 문법은 execution 의 args 부분과 같다. 1. execution과 args의 차이점 execution 은 파라미터 타입이 정확하게 매칭되어야 한다. execution 은 클래스에 선언된 정보를 기반으로 판단한다. args 는 부모 타입을 허용한다. args 는 실제 넘어온 파라미터 객체 인스턴스를 보고 판단한다. 2. Argstest @Slf4j public class ArgsTest { Method helloMethod; @BeforeEach public void init() throws NoSuchMethodException { helloMethod = MemberServiceImpl.class.getMethod("hel..