250x250
Notice
Recent Posts
Recent Comments
Link
코린이의 기술 블로그
스프링 AOP 본문
AOP(Aspect Oriented Programming) ? 응집도와 관련된 기능
AOP는 이러한 부가적인 공통 코드들을 효율적으로 관리하는데 주목
AOP메소드마다 공통으로 로깅이나 예외, 트랜젝션 처리 같은 코드들을 횡단 관심(Crosscutting Concerns)
객체지향을 도와주는 역할 OOP(OOP : 객체의 관점에서 프로그래밍 하는 것을 의미)의 한계를 극복
AOP용어
- Joinpoint : 클라이언트가 호출하는 메소드
- Pointcut : 필터링된 조인포인트
- Advice : 횡단 돤심에 해당하는 공통 기능릐 코드를 의미
- Weaving : 포인트 컷으로 지정한 핵심 관심 메소드가 호출될 때, 어드바이스에 메소드 삽입 과정
- Aspect : 포인트 컷과 어드바이스의 결합하여 어떤 메소드에 실행할 지 결정
- Advisor : 애스팩트와 같은 의미
포인트컷 표현식 ?
execution( * com.spring. .*Impl . get*(..) )
리턴 패키지 클래스 매개변수
- 리턴타입 지정 : '*'을 이용하여 지정한다
- 패키지 지정 : '*' 나 '..' 을 이용한다
- 클래스 지정 : '*' 나 '+' 을 이용한다
- 메소드 지정 : 메소드는 '*' , 매개변수는 '..'을 이용한다
- 매개변수 지정 : '..' 나 '*' 을 사용, 정확한 타입 지정
AOP 기반 어노테이션
- 어노테이션 사용을 위한 스프링 설정
- 포인트컷 설정
- 어드바이스 설정
어노테이션 설명 @Before 실행 전 동작 @AfterReturning 메소드가 성공적으로 리턴 되면 동작 @AfterThrowing 메소드 실행 중 예외가 발생하면 동작 @After 메소드가 실행 된후 무조건 실행 @Around 호출 자체를 가로채 메소드 실행 전후에 처리할 로직 삽입
728x90
'Java Web' 카테고리의 다른 글
스프링 웹 MVC (0) | 2021.11.14 |
---|---|
컨트롤러 (0) | 2021.11.13 |
스프링 어노테이션 (0) | 2021.11.11 |
의존 관계 / 생성자 인젝션 / Setter 인젝션 (0) | 2021.11.10 |
DI(Dependency Injection) (0) | 2021.11.09 |
Comments