728x90

AOP 3

Spring AOP의 구동 원리와 Proxy와의 관계

지난 포스팅에서는 Filter, Interceptor, AOP 간의 차이점을 알아보았습니다. 이번 포스팅은 JVM 런타임 동안 Spring이 무엇을 하는지 , 어떤 동작을 하고 무슨 준비를 하는지, Weaving과 Proxy의 역할, SOLID의 원칙 중 어떤 것이 적용되는지 알아보겠습니다. 첫째로 Weaving이 무엇인지 알아보겠습니다. Weaving Advice를 핵심 로직에 적용하는것을 의미하며 3가지 방식이 존재합니다. Compile-time Weaving Load-time에 대한 절차가 없어서 성능 하락 없이 구성이 가능합니다. Lombok과 같은 Compile Weaving 시 간섭하는 Plugin들과 충돌이 발생합니다. Class Load-time Weaving Application Cont..

Backend/Spring 2022.01.13

AOP, Filter, Interceptor의 정의와 차이점 (3) - AOP편

AOP ( 관점 지향 프로그래밍 : Aspect Oriented Programming) 란? AOP는 Ioc / DI, 서비스 추상화와 더불어 스프링의 3대 기반 기술 중 하나입니다. AOP는 스프링 기술 중에 가장 이해하기 힘든 난해한 용어와 개념을 가진 기술로 유명합니다. AOP를 이해하려면 OOP를 보조하거나 대체하려는 AOP라는 개념 뒤에 감춰진 필연적인 등장 배경과 스프링이 AOP 기술을 도입한 이유, AOP 도입을 통해 얻는 장점이 무엇인지에 대한 충분한 이해가 필요합니다. AOP는 OOP ( 객체 지향 프로그래밍 : Object Oriented Programming )을 보완하는 확정적인 개념 ( OOP를 대신하는 개념이 아닌, OOP를 더욱 빛나게 혹은 더욱 OOP 답게 사용할 수 있도록 ..

Backend/Spring 2022.01.11

Spring( 봄 ) ?? 스프링의 원리와 기초

Spring Framwork Java Platform을 위한 오픈소스 애플리케이션 프레임워크로서 스프링( Spring ) 이라고 불린다. Open Source : 소프트웨어 혹은 하드웨어의 제작자의 권리를 지키면서 원시 코드를 누구나 열람할 수 있도록 한 소프트웨어로서 오픈 소스 라이센스에 준하는 모든 통칭을 말한다. Framework : 개발자를 위한 설계 기본의 뼈대, 구조, 환경을 말한다. ( 문제 영역을 해결한 재사용, 확장 가능한 라이브러리 ) Spring은 JAVA 기반의 Framwork이고 자바는 객체 지향 언어다. (개발자인 우리는 좋은 객체 지향 프로그래밍이란 무엇인지 알아야한다.) SOLID - 좋은 객체 지향 설계의 5가지 원칙 SRP : 단일 책임 원칙 ( Single Respons..

Backend/Spring 2022.01.10
728x90