AOP 2

[Spring] 스프링 특징 IOC, AOP, DI 이란?

Spring Framework의 주요 특징 IOC, AOP, DI 1. IOC (Inversion of Control) : 제어의 역전Spring 컨테이너가 개발자 대신 의존성을 주입하고 객체의 생명주기를 관리하도록 하여 객체의 흐름을 관리 자바 기반 어플리케이션 개발시, 객체의 생성부터 소멸까지 및 의존 관계와 같은 흐름을 조작하고 결정하는 것은 개발자에게 있다. 하지만, IOC 패턴 사용시 객체의 생성 및 관리 등 제어 흐름의 결정 권한을 Spring 컨테이너에게 위임하여 객체의 라이프사이클을 관리하는 것을 말한다. Container가 bean을 관리해주기에 제어의 역전이라고 한다.IOC의 장점객체 간의 결합도를 낮춤유연한 코드 작성테스트의 용이성을 향상2. AOP (Aspect Oriented Pr..

Back-End/Spring 2023.12.14

[Spring] AOP (Aspect Oriented Programming)

AOP 등장 배경기존 OOP에서 핵심 관심 사항(core concern)과 공통 관심 사항(cross-cutting concern)을 여러 모듈에 중복 사용되는 한계를 해결하기 위해 AOP가 등장했다. 공통 관심 사항을 기준으로 프로그래밍함으로써 공통 모듈을 손쉽게 적용할 수 있게 한다.AOP 특징AOP는 핵심적인 기능에서 부가적인 기능을 분리Aspect 라는 모듈 형태로 만들어 설계하고 개발해 객체지향적인 가치를 지킬 수 있게하는 개념AOP 용어Target : 핵심기능을 담고 있는 모듈. 부가기능의 부여 대상Advice : 어느 시점에 공통 관심 기능 Aspect을 적용할지 정의. Target에 제공할 부가기능 담음JoinPoint : Aspect가 적용될 수 있는 지점. target 객체가 구현한 인..

Back-End/Spring 2023.04.28