과거의나야도와줘

Spring 09. AOP 02 본문

개발공부노트/Spring

Spring 09. AOP 02

o_60__o 2022. 10. 21. 10:53
728x90
주의!
공부하면서 제가 이해한 대로 쓰는거라 잘못된 부분이 있을 수 있습니다
만약 잘못된 부분이 있다면 댓글로 가르쳐주시면 감사합니다

 

Spring에서 AOP를 다루기 전에 자바 코드로 프록시 패턴을 만들어볼게요

 

01. 프록시 패턴 - 디자인 패턴

직원과 학생 클래스 그리고 Exception을 하나 만들 겁니다

 

직원 클래스
학생 클래스
코로나 예외

 

직원 클래스와 학생 클래스는 핵심 관심 사항(일, 공부)를 제외하고 나머지는 똑같은데요

 

직원 클래스와 학생 클래스에는 핵심 관심 사항만 만들어 놓고 나머지 공통관심사항들은 따로 빼서 핵심 관심 사항이 실행될때 앞뒤로 붙이면 더 효율적이지 않을까요?

 

 

지금 만들 프록시 패턴의 코드의 구조는 대략 이렇습니다

대략 이래요

코드를 한번 짜고 Test를 돌려보면 의외로 쉽게 이해가 됩니다

전체 파일
Person 인터페이스
PersonProxy 클래스

이 PersonProxy 클래스가 공통 관심 사항을 모두 가지고 있고 person을 필드 객체로 가지고 있어

person을 상속받은 클래스를 생성자로 주입받아서 18번 라인에서 그 클래스의 핵심관심사항을 실행하고 나머지는 PersonProxy에서 만든 공통 관심 사항으로 둘러 싸는 형태입니다

 

스태프 클래스
학생 클래스

PersonProxy에서 공통관심사항들을 전부 처리해줘서 이 스태프와 학생 클래스에는 핵심 관심 사항만 적으면 됩니다

 

테스트를 해보면
잘 나옵니다

스프링 AOP가 대략 이런 구조라 생각하시고

다음 포스팅 부터는 스프링으로 AOP를 만들어 보겠습니다

728x90

'개발공부노트 > Spring' 카테고리의 다른 글

Spring 11. AOP 04  (0) 2022.10.22
Spring 10. AOP 03  (0) 2022.10.21
Spring 08. AOP(Aspect Oriented Programming) 01  (0) 2022.10.21
Spring 07. Spring 환경 설정 3  (0) 2022.10.20
Spring 06. Spring 환경 설정 2  (0) 2022.10.18
Comments