Spring AOP 시작하기

목표 AOP가 무엇인지 이해한다. Spring AOP를 사용하는 방법을 이해한다. Spring AOP의 내부 구조를 이해한다. AOP(Aspect-Oriented Programming) Cross-Cutting Concern concern: 기능에 따라 분리한 시스템의 동작 concern의 2가지 종류 core concern: 주요 요구사항에 대한 기능 cross-cutting concern: 보조되는 또는 시스템 전반적인 요구 사항 예시: 로깅, 보안, 데이터 전송 등 aspect: cross-cutting concern을 모듈화한 것 AOP cross-cutting concern을 분리하여 모듈성을 높이는 것을 목표로하는 프로그래밍 패러다임 새로운 동작이 필요하면, 기존 코드에 추가하지 않고 분리된 새로운 코드를 선언할 수 있다....

2024-09-15 · 3 min · 503 words

Pointcut Designators

목표 pointcut을 표현할 수 있는 pointcut designators를 알아본다. this, target this: 현재 호출되는 joinpoint의 위치를 제한할 때 사용 target: 메서드를 호출하는 대상 객체를 제한할 때 사용 @Pointcut("target(com.baeldung.pointcutadvice.dao.BarDao)") @Pointcut("this(com.baeldung.pointcutadvice.dao.FooDao)") args 호출하는 메서드의 파라미터를 제한할 때 사용 메서드 명이 find로 시작하고, Long 타입 파라미터 하나만 있는 경우 @Pointcut("execution(* *..find*(Long))") 메서드 명이 find로 시작하고, 파라미터 개수는 상관없지만 첫 번째 파라미터가 Long인 경우 @Pointcut("execution(* *..find*(Long,..))") @target 호출된 객체의 클래스에 지정된 어노테이션이 있는 경우로 제한할 때 사용 @Pointcut("@target(org....

2024-09-15 · 1 min · 141 words