백엔드 부트캠프/TIL

스프링 boot-starter-aop가 안보이던 이유

o_b:us 2022. 6. 21. 18:57

오늘 학습 중,

https://start.spring.io/ 에서'org.springframework.boot:spring-boot-starter-aop를 제공하지 않는게 궁금해서 찾아봤습니다.
'제공하지 않으니까 이미 들어 있는거 아닐까?' 라는 생각이 먼저 들어 org.springframework.boot:spring-boot-starter 라이브러리를 찾아보니 역시 spring aop가 추가되어 있습니다.
그렇다면 aop가 라이브러리에 들어가 있는데 왜 @Aspect 애노테이션을 보이지 않는걸까요?

springinitializer 개발자의 말에 따르면 spring aop보다 인지도가 덜하고 입문자들에게 굳이 다른회사의 starter를 제공하는게 일관성이 없다고 생각하여서 없앴다고 합니다.
여기서 여태 배웠던 aop가 spring이 제공하던 aop가 아니라 다른 회사의 aop란 것을 알았네요!

 

그렇기 때문에 @Aspect 애노테이션을사용하려면 이클립스에서 제공하는 라이브러리인 org.springframework.boot:spring-boot-starter-aop 를 의존성에 추가해줍시다!!

 

<더 공부할 내용>

aop를 구현하는 3가지 방법

  1. XML 스키마 기반의 POJO클래스를 이용한 AOP 구현
  2. AspectJ에서 정의한 @Aspect 어노테이션 기반의 AOP 구현(spring aop를 확장)
  3. spring api를 이용한 AOP 구현

출처 : https://dahye-jeong.gitbook.io/til/spring/2020-04-10-aop-aspectj