Spring

AOP , DI , IOC

3분 입문자 2022. 12. 20.

IOC(Inversion Of Control) 제어의 역전

 일반적인 Java 객체를 new로 생성하여 개발자가 관리 하는 것이 아닌 Spring Container에 모두 맡기는 것

 즉, 개발자에서 -> 프레임워크로 제어의 객체 관리의 권함이 넘어 갔음 으로 ‘제어의 역전’ 이라고 함

 

DI(Dependency Injection) 의존성 주입 

 의존성으로부터 격리시켜 코드 테스트에 용이하다.

 DI를 통하여, 불가능한 상황을 Mock와 같은 기술을 통하여, 안정적으로 테스트 가능하다.

 코드를 확장하거나 변경 할 때 영향을 최소화 한다.

 순환참조를 막을 수 있다.

 

AOP(Aspect Oriented Programming) 관점지향 프로그램 

 로직을 기준으로 핵심적인 관점, 부가적인 관점으로 나누어서 보고 그 관점을 기준으로 각각 모듈화

 스프링 어플리케이션은 대부분 특별한 경우를 제외 하고는 MVC 웹 어플리케이션에서는

 Web Layer , Business Layer , Data Layer 로 정의 (횡단 관심)

 Web Layer : REST API를 제공 , Client 중심의 로직 적용

 Business Layer : 내부 정책에 따른 logic를 개발하며 , 주로 해당 부분 개발

 Data Layer : 데이터 베이스 및 외부와의 연동

'Spring' 카테고리의 다른 글

MVC 패턴  (0) 2022.12.28
QUERYDSL 이란  (0) 2022.12.20
WebClient  (0) 2022.12.20
annotation  (0) 2022.12.20
Singleton  (0) 2022.12.20

댓글