개발지식

[Spring] Spring의 삼각관계 IOC와 DI, 그리고 AOP...

우루쾅 2024. 2. 4. 00:27
728x90
반응형
SMALL

GPT-4가 말하길 스프링의 3대 핵심 개념은 DI, IOC, AOP 이다!

그러므로 우리는 서로 얽히고 설킨 IOC와 DI, 그리고 AOP에 대해 알아보자

 

 

(그리고 추가로 어떤 순서로 공부하는게 좋은지도 물어봄)

 


여기 게시글에서는 IOC와 DI, AOP의 각각 연관성에 대해 설명하고

하나하나 별도의 게시글로 상세 내용을 다루겠습니다!

 

IOC(Inversion of Control) 는 

객체의 생성과 생명주기 관리를 개발자가 아닌 Spring 컨테이너가 담당하는 프로그래밍 기법입니다.

IOC는 개발자가 직접 객체를 생성하고 참조하는 것이 아닌 Spring 컨테이너가 알아서 처리하도록 합니다.


DI(Dependency Injection) 는 

객체 간의 의존성을 외부에서 주입받는 방식을 의미합니다.

IOC Container가 주로 DI를 구현하는데, 애플리케이션은 필요한 의존성을 IOC Container에게 요청하고 주입받습니다. 

이를 통해 객체 간의 결합도를 낮추고 유연성을 높일 수 있습니다.


AOP(Aspect Oriented Programming) 는 

핵심 로직과는 별개로 횡단 관심사를 처리하는 모듈입니다. 예를 들어, 로깅, 트랜잭션 관리, 보안 등은 애플리케이션의 여러 모듈에서 공통적으로 필요한 기능이지만, 핵심 로직에 직접 포함되기 보다는 AOP를 통해 모듈화되고 재사용됩니다. 이러한 횡단 관심사는 Aspect Module에서 구현되며, AOP는 Aspect Module을 적용하여 애플리케이션에 횡단 관심사를 적용합니다.

 

 

 

 

 

출처

GPT-4

 

728x90
반응형
LIST