본문 바로가기

백엔드 개발/SpringAOP

Spring 공식문서 Concept of AOP 번역 원본 문서 AOP가 담고있는 발상 AOP가 가지고 있는 몇몇 중심적인 생각들과 용어들을 정의하는 것으로 시작해보자! 여기서 쓰이는 용어들은 스프링 맞춤이 아니다. 따라서 불행하게도 AOP의 용어들은 특별히 직관적이진 못하다. 하지만, 만약 스프링이 AOP 개념 도입을 위한 그것만의 용어를 썼다면, 그것이 더 우리를 혼란스럽게 만들 것이다! 1. 용어설명 Aspect(관점): 복수의 Class들을 가로지르는 관심사에 대한 모듈화를 의미한다. (기존의 우리가 서버 로직을 공부할 때, 기능을 무엇이라 생각했는가? Service Class 하나가 곧 기능이라고 생각했다. 하지만 AOP에서는 관점을 달리하여, 클라이언트로부터 요구가 들어와서 Controller -> 복수의 서비스 로직 -> 다시 응답 까지의 전 .. 더보기
Weaving과 Proxy에 대하여 깃허브에도 정리 올려놓았습니다. 전수민_깃허브 주소 Weaving과 Proxy 객체에 대하여 이번 장에서 알아볼 것: AOP에서 Weaving이란 무엇인가? Proxy와의 관계는 어떻게 되는가? Proxy 객체란 무엇이고? AOP에서 사용되는 원리는 무엇인가? 1. AOP에서 Weaving이란 무엇인가? AOP에서 weaving이란 부가기능(advice)을 그것이 타겟팅하는 본 기능에 장착하는 작업을 말한다. 따라서 weaving은 본기능에 영향을 주지 않으면서 부가기능을 연결시키는 AOP의 핵심 작업이다. weaving은 실행되는 시점에 따라 3가지로 종류가 나뉜다. (1) Compile Time Weaving(CTW) Spring에서 AOP를 구현하는 방법에는 AspectJ라는 라이브러리를 쓰는 것과.. 더보기
Concept-of-AOP 스스로 정리 Spring AOP 공식 문서 읽고 스스로 정리함. 깃허브에도 올려놓음 https://github.com/dalcheonroadhead/Spring-framework-theory/blob/main/AOP/relatedStudy/conceptOfAOP.md Concept-of-AOP 스스로 정리 목차 AOP란 무엇인가? 그림과 함께 알아보는 용어 정리 Advice Join Point pointcut Aspect Introduction Target Object AOP proxy Weaving Cross-cutting concerns 1. AOP란 무엇인가? Aop는 관점 지향 프로그래밍(Aspect Oriented Programming)을 말한다. Java라는 언어를 배울 때 우리는 자바가 객체지향프로그래밍.. 더보기