본문 바로가기
관리자

Programming-[Backend]/Spring

[링크] 스프링 AOP 용어 개념 정리

728x90
반응형

AOP는 Aspect Oriented Programming의 약자이다. 관점에 따라 프로그래밍을 하겠다는 뜻이 된다. 코드에서 공통적으로 나타나는 부가적인 기능을 모듈화하여 하나의 관점(Aspect)로 바라보고 공통화한다.

 

 

주요개념

 

 

  • Aspect : 위에서 설명한 흩어진 관심사를 모듈화 한 것. 주로 부가기능을 모듈화함.
  • Target : Aspect를 적용하는 곳 (클래스, 메서드 .. )
  • Advice : 실질적으로 어떤 일을 해야할 지에 대한 것, 실질적인 부가기능을 담은 구현체
  • JointPoint : Advice가 적용될 위치, 끼어들 수 있는 지점. 메서드 진입 지점, 생성자 호출 시점, 필드에서 값을 꺼내올 때 등 다양한 시점에 적용가능
  • PointCut : JointPoint의 상세한 스펙을 정의한 것. 'A란 메서드의 진입 시점에 호출할 것'과 같이 더욱 구체적으로 Advice가 실행될 지점을 정할 수 있음

 

적용방법

 

 

의존성 추가

<dependency> 
  <groupId>org.springframework.boot</groupId> 
  <artifactId>spring-boot-starter-aop</artifactId>
</dependency>


@AOP

특정 클래스 위에 해당 어노테이션을 작성해주면 된다. 스프링 빈으로 등록을 위해 @Component도 달아주어야 한다.

 

@Around

AOP를 적용할 패키지 경로, 어노테이션, 모든 메서드 등을 지정할 수 있다.

 

 

 


참조

 

1. 새로비님 블로그 - [Spring] 스프링 AOP (Spring AOP) 총정리 : 개념, 프록시 기반 AOP, @AOP

https://engkimbs.tistory.com/746

 

 

 

 

728x90
반응형