스프링 AOP 학습 후 고찰입니다.
안녕하세요.
관점지향프로그래밍에서 스프링 AOP를 사용한다면
Aspect, Target, Advice, Join point, Pointcut에 대한 이해가 필요함에 따라 각각의 의미를 강의를 통해 이해한데로 적어봅니다.
'EventService'를 구현한 클래스 'SimpleEventService'가 있고 create(), publish(), delete() 총 3개의 메소드를 재정의 한 상황에서 각각의 메소드 실행시 '성능에 대한 로그(공통관심사)'를 출력해야 할 때
이를 AOP 주요 개념으로 해석해 보면 ,
Aspect(모듈) - 공통관심사'들'을 정의해 놓은 Class, 강의에서는 'PrefAspect' Bean.
Target - 공통관심사가 적용이 될 대상(* 프로젝트에 존재하는 모든 Class는 타겟이 될 수 있는 것인지 궁금합니다.)
Advice - 모듈(Aspect) 안에서 정의된 공통관심사(로그), 강의에서는 'PrefAspect' bean의 'logPref'() 또는 'hello()'
Pointcut - 공통관심사가 적용이 될 위치, Target(Class)에 대한 특정 행위(Method)의 실행 시점을 의미
Joinpoint - 합류점, 가령 'SimpleEventService'의 특정 메소드 실행 전, 실행 후 등..(@Before, @Around와 같은 어노테이션을 의미)
제가 생각한 개념이 맞는지 조언 부탁드립니다.
(AOP는 반복학습을 해야겠습니다.)
미리 답변 감사드립니다.
답변 1
BeanFactory와 ApplicationContext 중 사용하고 싶은 컨테이너를 설정 할 수 있나요?
0
381
1
프로젝트 생성에 관련한 질문
0
376
1
안녕하세요 강의 내용을 듣다가 궁금점이 생겨 글을 남기게 되었습니다.
0
371
1
HttpServeltRequest 객체의 빈 스코프에 대해 질문 드립니다.
0
304
0
PropertyEditor non thread-safe 한 이유
0
491
1
빈의 초기화 시점이 궁금합니다.
0
393
1
이 강의 예제소스 없나요?
0
345
1
릴로딩 기능에 대해
0
404
1
Bean 을 특정 Application...Event 발생 후, 등록하는 방법이 궁금합니다
0
612
3
IoC/DI와 POJO의 관계
1
749
2
기선님 RetentionPolicy에 대해서 질문이 있습니다.
0
291
1
안녕하세요 기선님!
3
486
3
비동기적으로 실행할때
0
314
2
"Prototype/프록시"로 설정했는데 동일한 객체로 나옵니다
0
530
4
@Autowired 로 가져오는 Bean은 ?
2
280
1
Type-Safety 의미
0
538
1
Null Point
0
318
1
WebDataBinder를 특별히 쓰는 이유가 있나요?
0
384
1
안녕하세요?
0
336
2
애노테이션이 없습니다(?)
0
279
3
코드 중 변수 앞에 적는 것이 무엇인지 알고 싶습니다.
0
295
2
강의 하시면서 사용하는 resolving 이란 단어는 어떤 의미인가요?
1
1499
1
IOC컨테이너관련 질문입니다
0
245
3
인터페이스가 있는 경우 인터페이스 타입으로 주입하는 추가 질문입니다.
0
259
1





