++ 관점 지향 프로그래밍(Aspect Oriented Programming, AOP) ++
- 주기능과 보조 기능을 분리해서 메서드에 적용
더보기
(출처 : Aspect Oriented Programming(관점지향프로그래밍) 소개 :: Deep Play (tistory.com))
AOP는 절차지향이나 객체지향 프로그래밍처럼 그 자체로 하나의 프로그램을 형성할 수 있는 건 아닙니다.
하지만 AOP는 객체지향 코드 위에서 이루어지며 객체지향을 보조하는 역할을 한다고 보시면 됩니다.
스프링 프레임워크에서 AOP기능 구현 방법
- 스프링 프레임워크에서 제공하는 API 사용
- @Aspect 애너테이션 사용
AOP 용어
용어 | description |
aspect | 구현하고자 하는 보조 기능 |
advice | aspect의 실제 구현체(클래스)를 의미. 메서드 호출을 기준으로 여러 지점에서 실행 |
joinpoint | advice를 적용하는 지점. 스프링은 method 결합점만 제공 |
pointcut | advice가 적용되는 대상을 지정. 패키지이름/클래스이름/메서드이름을 정규식으로 지정하여 사용 |
target | advice가 적용되는 클래스를 의미 |
weaving | advice를 주기능에 적용하는 것을 의미 |
AOP 기능 구현 과정
- Target 클래스 지정
- Advice 클래스 지정
- 설정 파일에서 Pointcut을 설정
- 설정 파일에서 Advice와 Pointcut을 결합하는 Advisor 설정
- 설정 파일에서 스프링의 ProxyFactoryBean 클래스를 이용해 target에 advice 설정
- getBean() 메서드로 빈 객체에 접근해 사용
'Spring' 카테고리의 다른 글
Spring #5 : 마이바티스 - 동적 SQL문(230118) (0) | 2023.01.18 |
---|---|
Spring #4 : 마이바티스 - 회원 최종(230118) (0) | 2023.01.18 |
Spring #3 : 마이바티스 프레임워크 - 회원 출력/검색/추가/수정/삭제 (230117) (0) | 2023.01.18 |
Spring #2 : 스프링 MVC (230116) (0) | 2023.01.17 |
Spring #1 : 의존성 주입, 초기 개발환경 설정 (230116) (0) | 2023.01.16 |
댓글